get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
* nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h:
Native, host, and target files that are common across more than
one cpu architecture and included by one of the configured
native, host, or target files, get moved to config directory.
config files moved to an appropriate config/<cpu> subdirectory.
* nm-*, xm-*, tm-*: All native, host, and target files, which
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax,
z8k}: New directories to hold cpu specific configuration files.
Naming follows gcc convention.
* config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax,
z8k}: New directories to hold cpu specific configuration files.
Naming follows gcc convention.
* config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
* nm-*, xm-*, tm-*: All native, host, and target files, which
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
* nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h:
Native, host, and target files that are common across more than
one cpu architecture and included by one of the configured
native, host, or target files, get moved to config directory.
* Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to
pick up native, host, or target include files moved to one of
the config subdirectories, and that are included by other files.
* Makefile.in (alldeps.mak): Modify to account for new config
directory structure.
* alldeps.mak, depend: Update for new config directory structure.
* config/*/[ntx]m-*.h: Modify all files that include other
[ntx]m-*.h files to use path relative to gdb/config. I.E.
"a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just
"tm-29k.h".
* remote-eb.c (tm-29k.h): Include a29k/tm-29k.h.
* mipsread.c (tm-mips.h): Include mips/tm-mips.h.
* i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h.
* configure.in: Default gdb_host_cpu to host_cpu, and remap
the ones where the default is not unique or different than the
config subdirectory name. Similarly, handle gdb_target_cpu.
Modify configure.in as appropriate to make use of gdb_host_cpu
and gdb_target_cpu to find makefile fragments and make links.
lookup_symbol as it might get clobbered by the call.
* mipsread.c (parse_partial_symbols): Use ADD_PSYMBOL_ADDR_TO_LIST.
The previous code did not initialize the language field for the psymtab
entry.
* gdb.t00/teststrategy.exp: Uses which proc rather than spawning
which in a shell. Deletes xgdb when done.
* config/unix-gdb.exp: Won't try to spawn $GDB unless it exists.
Tests the return from the "set height" or "set width" commands.
Added a few return codes where needed.
* ieee-float.h: Moved to ../include.
* Makefile.in: Update accordingly.
* i386-pinsn.c (print_insn), m68k-pinsn.c (print_insn):
Convert to stubs that call disassemblers in ../opcodes/*-dis.c.
* m68k-tdep.c: Removed definition of ext_format ext_format_68881;
it is now in ../opcodes/m68881-ext.c.
* mips-tdep.c (mips_skip_prologue): Try to skip more of the
prologue (some callers _do_ care).
* mips-pinsn.c (print_insn), z8k-tdep.c (print_insn): Convert to
new interface of ../opcodes/*-dis.c.
* ch-exp.y: Add #include <ctype.h>.
fix problem with coercion of array and function types when
passed as arguments to C functions, pending a more complete
review of when and how coercion should be done, depending
upon context and language.
not just 50 symbols.
(symtbl_num_syms): New variable.
(read_xcoff_symtab): Set it.
(read_symbol_nvalue): Check for bad symno.
(read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's
always symtbl.
may be called after gdb goes away. Previous versions of expect
needed these to avoid file descriptor leaks, but they cause
errors with the current revision of expect.
* gdb.t00/gdbvars.exp: Use -re on expected output after
setting sevenbit-strings.
* gdb.t04/setvar.exp, gdb.t13/bitfields.exp: Make commands
to set sevenbit-strings consistent across tests.
**** start-sanitize-chill ****
gdb.t30/chexp.exp, gdb.t31/chillvars.exp: Make commands to
set sevenbit-strings consistent across tests.
**** end-sanitize-chill ****
This is defined in defs.h if necessary.
* vx-share/vxWorks.h: Remove #defs of min and max.
* vx-share/xdr_ld.c, vx-share/xdr_ptrace.c,
vx-share/xdr_rdb.c: include defs.h.
* xcoffread.c (retrieve_tracebackinfo): Move assignment out
of while condition.
* xcoffread.c (enter_line_range): complain() on bad endoffset.
xcoffread.c: Doc fixes.
Tue Mar 9 09:56:12 1993 Jim Kingdon (kingdon@cygnus.com)
* tm-rs6000.h (CORE_NEEDS_RELOCATION): Just call xcoff_relocate_core.
xcoffexec.c (xcoff_relocate_core): New function.
(text_adjustment): Removed.
(add_vmap): Return the vmap.
rs6000-tdep.c (add_text_to_loadinfo): No longer static.
Fri Mar 5 05:22:46 1993 Jim Kingdon (kingdon@cygnus.com)
* xcoffsolib.h: Add objfile member to struct vmap.
xcoff{exec,solib}.c: Use it, not lookup_objfile_bfd.
xcoffexec.c (add_vmap): Allocate objfiles here.
* utils.c (fprintf_symbol_filtered): New function which combines
the functionality of fputs_demangled and fprint_symbol. Uses a
caller provided language parameter to select the appropriate
demangler, and caller provided args to pass to the demangler.
* defs.h (fputs_demangled, fprint_symbol): Remove prototypes.
* defs.h (fprintf_symbol_filtered): Add prototype.
* c-typeprint.c (cp_type_print_method_args): Replace calls to
fputs_demangled with call to fprintf_symbol_filtered.
* cp-valprint.c (demangle.h): Include
* cp-valprint.c (cp_print_value_fields): Replace calls to
fprint_symbol with calls to fprintf_symbol_filtered.
* printcmd.c (print_frame_args): Replace call to fprint_symbol
with call to fprintf_symbol_filtered.
* stack.c (print_frame_info, frame_info): Add language variable
to pass to fprintf_symbol_demangled and initialize it from the
symbol's language. Replace calls to fputs_demangled with calls
to fprintf_symbol_filtered.
* symtab.c (find_methods): Replace call to fputs_demangled with
call to fprintf_symbol_filtered.
**** start-sanitize-chill ****
* ch-valprint.c (demangle.h): Include.
* ch-valprint.c (chill_print_value_fields): Replace call to
fprint_symbol with call to new fprintf_symbol_filtered.
**** end-sanitize-chill ****
add a language parameter that is used to select the demangling
algorithm.
* defs.h (enum language): Move further up in file so enum can
be used in prototypes.
* defs.h (fputs_demangled): Update prototype to add lang arg.
* c-typeprint.c (cp_type_print_method_args): Add language arg
to fputs_demangled calls, remove DMGL_PARAMS flag.
* stack.c (print_frame_info): Remove obsolete code so we don't
have to update fputs_demangled usage in it.
* stack.c (print_frame_info, frame_info): Add language variable
to pass to fputs_demangled and initialize it from the symbol's
language. Call fputs_demangled with language arg.
* symtab.c (find_methods): Add language arg to fputs_demangled
call.
to source, since previous behavior of defaulting to gdb init file
was troublesome and undocumented.
* printcmd.c (disassemble_command): Add missing '{}' pair to
else with two statements. Bug reported by Stephane Tsacas
<slt@isoft.fr>.
* symtab.c (find_pc_line): Don't complain about zero length or
negative length line numbers for the moment, since we may not own
the terminal when called, such as when single stepping. (FIXME)
* language.h (CAST_IS_CONVERSION): True if current language is
C++ as well as C. Fix from Peter Schauer.
* environ.c (get_in_environ, set_in_environ, unset_in_environ):
Use STREQN macro rather than bare '!strncmp()'.
* environ.c (unset_in_environ): Avoid use of memcpy on
overlapping memory regions, as suggested by Paul Eggert
<eggert@twinsun.com>.
* c-exp.y (%union struct): Remove unused ulval as suggested
by Paul Eggert <eggert@twinsun.com>.
expected fail for i486-*-* that misses the marker2 function.
* gdb.t10/crossload.exp (bfddefault): Allow successful
recognition of a format to pass even if no symbols are found.
Explicitly catch failures where the format is not recognized
or is ambiguous, and add the reason to the fail message.
* gdb.t10/crossload.exp (bfdexplicit): Catch failure where
the cause is and invalid target and add reason to failure message.
* gdb.t10/crossload.exp: Fix bfd target names for elf32-m68k,
elf32-i386, elf32-sparc, and elf32-i860.
* gdb.t12/scope.exp (test_at_main, test_at_foo, test_at_bar):
Set up expected failure for 'filename'::variable scope resolution,
which is now apparently broken on all targets.
* gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t20/misc.exp,
gdb.t21/cplusfuncs.exp, gdb.t22/virtfunc.exp,
gdb.t23/templates.exp: Change failure for missing binfile into
just a warning.
gdb.t21/demangle.exp: Change all cfront references to 'arm'
references.
(pollquit): New function to poll keyboard for user interrupt,
called from QUIT.
* xm-go32.h (QUIT): Define to call pollquit.
* h8300-tdep.c (examine_prologue): Use correct value for number of
registers.
(examine_tag): Use it.
(read_register_stack): Only look in the local registers for a
memory address if it's between rfb and rsp; go to memory otherwise.
* command.c (do_setshow_command): var_uintegers are unsigned.
* sparc-tdep.c (save_insn_opcodes, restore_insn_opcodes):
unsigned, since they use hex values with the high bit set.
size field a define (DBX_STRINGTAB_SIZE_SIZE). Ensure that the
offset to the string table is nonzero and handle the nonexistant
string table case, should it occur. Ensure that the string table
size read from the file is reasonable, with a minimum lower bound
of DBX_STRINGTAB_SIZE_SIZE instead of zero.
(FLAGS_TO_PASS): Added CXX and CXXFLAGS.
(CC_FOR_TARGET, CXX, CXX_FOR_TARGET): New variables.
(TARGET_FLAGS_TO_PASS): New variable.
(SUBDIRS): Added testsuite.
(all): Build testsuite using TARGET_FLAGS_TO_PASS, so that
testsuite is compiled with CC_FOR_TARGET rather than CC.
reported by mycroft@gnu.ai.mit.edu.
(Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>)
* configure.in (vax-*-ultrix2*): New triplet.
* config/vaxult2.mh: New file.
* xm-vaxult2.h: New file.
* demangle.c: Change all references to cfront to ARM, since the
actual algorithm is the one specified in the Annotated Reference
Manual. This was confusing users into thinking that full cfront
support was implemented.
* dwarfread.c (CFRONT_PRODUCER): Remove, was never really used.
* eval.c (evaluate_subexp): For STRUCTOP_PTR pass the arg type
directly to lookup_struct_elt_type, which will do the
dereferencing itself.
* gdbtypes.c (lookup_struct_elt_type): Expand comments. Fix
NULL dereferencing bug for unnamed structs, comment out
questionable code.
so that it only happens on big-endian targets; so that it only
happens if the short or char argument is aligned on an int
boundary; and so that it changes the location, rather than the
type, of the argument. These changes tend to parallel similar
(old) changes in stabsread.c.
* coffread.c (coff_read_enum_type): Use the specified size for
enums, don't assume that they are int-sized.
* c-valprint.c (c_val_print): Don't assume enums are the same as
ints.
Renamed gdb.t*/in-gdbme* to gdb.t*/gdbme*. Changed to use CC, CXX
instead of CC_FOR_TARGET, CXX_FOR_TARGET. Added mostlyclean and
distclean targets. Built executables via .o files. Adjusted
tests to account for source files in $(srcdir) rather than
$(objdir).
* lib/gdb.exp (runto): Don't expect () after the function name,
because it may have arguments.
of demangled name fields to NULL if no demangling exists for
a symbol. SYMBOL_INIT_LANGUAGE_SPECIFIC does this for new
symbols if their language is known at the time they are created,
but sometimes the language is not known until later.
gdb.t03/ptype.exp, gdb.t06/break.exp, gdb.t12/scope.exp: Added
expected failures for mips-idt-* and mips-sgi-*.
* gdb.t00/default.exp (attach): Kill process if requested.
* gdb.t00/help.exp (help target core, help target): Accept a gdb
that does not read core files.
* gdb.t01/run.exp: Removed checks for exit status code.
* gdb.t03/in-gdbme.c: Make explicit call to malloc to ensure that
it is linked in.
* gdb.t03/ptype.exp: Increase timeout when calling malloc.
* gdb.t04/setvar.exp, gdb.t05/expr.exp: Use runto function where
appropriate, rather than doing it by hand.
* gdb.t07/watchpoint.exp: If mips-idt-*, reload file after first
execution.
* gdb.t10/crossload.exp: Kill existing program if needed.
* gdb.t15/funcargs.exp: Use delete_breakpoints function where
appropriate, rather than doing it by hand. Always increase
timeout for this test, not just for VxWorks.
* gdb.t31/chillvars.exp (test_structs): New proc to test printing
of Chill STRUCT types and STRUCT values.
* gdb.t31/chillvars.exp (test_strings): Expect "CHAR" now, rather
than "char".
* gdb.t31/in-gdbme.ch (simple_struct, nested_struct, struct1,
struct2): New struct definitions and initializations to test
simple Chill STRUCT types.
**** end-sanitize-chill ****
* ch-typeprint.c (chill_print_type_base): Name changed to
chill_type_print_base to match pattern for C and C++ names.
* ch-typeprint.c (chill_print_type): Change "char" to "CHAR"
to be consistent with other usages.
* ch-typeprint.c (chill_type_print_base): Add support for
printing Chill STRUCT types.
* ch-valprint.c: Include values.h.
* ch-valprint.c (chill_print_value_fields): New function and
prototype for printing Chill STRUCT values.
* ch-valprint.c (chill_val_print): Fix call to val_print_string
that was being called with two args instead of three.
* ch-valprint.c (chill_val_print): Call chill_print_value_fields
to print Chill STRUCT values.
**** end-sanitize-chill ****
the null byte at the end of strings.
* gdb.t00/default.exp: Make show version insensitive to copyright
date.
* gdb.t16/in-gdbme.c (ctable1, ctable2): Make explicitly unsigned
to avoid dependencies on target char signedness.
* gdb.t16/printcmds.exp: Update expected results for explicitly
unsigned char.
* gdb.t16/printcmds.exp: Remove setup_xfails for i960 that should
now work.
* gdb.t21/demangle.exp: Add many more patterns for template
demangling, most of them being expected failures.
* gdb.t21/demangle.exp (proc demangle): Quote the demangled
string we are matching for, to match on the whole string.
* gdb.t21/demangle.exp: Add many new test strings to demangle,
and fix a whole bunch that had incorrect expected output but were
passing anyway because of the bug in "proc demangle".
**** start-sanitize-chill ****
* gdb.t31/chillvars.exp: Remove setup_xfail for printing string
type.
* gdb.t31/in-gdbme.ch: Uncomment string4, now compiles.
**** end-sanitize-chill ****
change that now emits debugging info with the type long for Chill
longs.
* dwarfread.c (read_tag_string_type): Rewrite to allow forward
references of TAG_string_type DIEs in user defined types.
protocol.
* config/idt.mt: New file; uses remote-mips.c
* configure.in (mips-idt-ecoff): New target; uses idt.mt.
* mips-tdep.c (mips_fpu): New variable; controls use of MIPS
floating point coprocessor.
(mips_push_dummy_frame): If not mips_fpu, don't save floating
point registers.
(mips_pop_frame): If not mips_fpu, don't restore floating point
registers.
(_initialize_mips_tdep): New function; let the user reset mips_fpu
variable.
* tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): If not
mips_fpu, don't use fp0 as floating point return register.
(FIX_CALL_DUMMY): If not mips_fpu, don't save floating point
registers.
Also added remote-mips.c to .Sanitize file.
Migrated dejagnu testcases and support files for testing nm to
gdb/testsuite from deja-gnu. These files were moved "as is"
with no modifications. This migration is part of a major overhaul
of dejagnu. The modifications to these testcases, etc., which
will allow them to work with the new version of dejagnu will be
made in a future update.
* main.c (print_gdb_version): Update copyright year to 1993.
* nm-hp300bsd.h: Decide whether this is BSD 4.3 or 4.4,
conditionalize this file on it. FIXME, right way is to split
these into two config files.
(ATTACH_DETACH): Define for BSD 4.4
(PTRACE_ARG_TYPE): caddr_t for BSD 4.4, unset for 4.3.
(U_REGS_OFFSET): Revise for 4.4.
(REGISTER_U_ADDR): Separate for 4.4, but it doesn't work yet.
* xm-hp300bsd.h: Move definitions of UINT_MAX, INT_MAX, INT_MIN,
LONG_MAX into this file to avoid cpp "redefinition" warnings.
* m68k-pinsn.c (BREAK_UP_BIG_DECL, AND_OTHER_PART): #if __GNUC__,
define to kludge the large opcode table into two smaller tables,
since GCC take exponential space to build the table. Lint.
(NOPCODES): Remove, use "numopcodes" from opcode/m68k.h instead.
* config/hp300bsd.mh (REGEX, REGEX1): Define.
* m68k-pinsn.c (BREAK_UP_BIG_DECL, AND_OTHER_PART): #if __GNUC__,
define to kludge the large opcode table into two smaller tables,
since GCC take exponential space to build the table. Lint.
(NOPCODES): Remove, use "numopcodes" from opcode/m68k.h instead.
* xm-hp300bsd.h: Define PSIGNAL_IN_SIGNAL_H and put a compatible
definition here, to handle both BSD 4.3 and 4.4 systems.
* tm-i386bsd.h (NUM_REGS): There are only eleven, not twelve.
of initial connection attempt with INTERRUPT. Treat a timeout
while waiting for remote packet like a retry, unless the remote
side is actively running user code. Fix a few long printf_filtered's.
* xcoffread.c (read_xcoff_symtab): Don't use null symbol name for
trampoline symbols.
* buildsym.c (start_subfile): Allow null file name.
* stabsread.c (dbx_lookup_type): Handle negative type numbers.
Previously, would bogusly index off the bottom of type_vector.
(rs6000_builtin_type): Accept type number as argument.
(read_type, case '-'): Handle negatives like any other type number.
* symfile.c (deduce_language_from_filename): Handle null name.
this struct symbol. Set it up in initialize_xcoffread.
[This broke when Fred changed "struct symbol".]
(read_xcoff_symtab, xcoff_symfile_read): Surround code that only
works on real rs/6000 target with #ifndef FAKING_RS6000.
xcoffread.c:builtin_type.
* xcoffread.c (builtin_type): Move to stabsread. Remove
IBM6000_HOST dependency. Move misplaced comments.
(various): Change printf's to complaints.
(patch_block_stabs, process_xcoff_symbol case C_DECL): Add
objfile argument to read_type calls under #if 0.
(process_xcoff_symbol case C_RSYM): Fix typo in #ifdef.
* xcoffexec.c (map_vmap): Don't allocate an objfile for the exec_file.
* Makefile.in: xcoffread.o is not built by default.
* config/rs6000.mh (NATDEPFILES): xcoffread.o is native only.
* doc/gdbint.texinfo: Eliminate IBM6000_HOST, document
IBM6000_TARGET.
VALUE_LVAL to be lval_memory so that we don't try to modify wild
register numbers when user tries to modify elements in structs
passed as arguments.
* inflow.c (child_terminal_info): Move banner outside of system
specific #ifdefs.
* tm-hppa.h (REG_STRUCT_HAS_ADDR): Define this for HPPA, which
passes struct/union arguments by address.
* Based on patch from Martin Walker <maw@netcom.com>:
* nm-i386sco4.h: New file. Like nm-i386sco.h, but define
ATTACH_DETACH, PTRACE_ATTACH and PTRACE_DETACH.
* config/i386sco4.mh (NAT_FILE): Use nm-i386sco4.h.
that begin with CPLUS_MARKER (often '$'), but don't die. Fix
suggested by gb@cs.purdue.edu (Gerald Baumgartner).
(read_cpp_abbrev): Don't use the class name as part of the
vtable pointer member name (_vptr$) in $vf abbrevs or unrecognized
abbrevs. Inspired by Mike Tiemann.
(read_tilde_fields): Comment. Remove ancient dead code.
Remove erroneous but non-dead code. Simplify. Add complaints.
(in general): Remove extraneous (parentheses) in return
statements.
<Ulf.Lunde@kvatro.no> and Dag H. Wanvik <Dag.H.Wanvik@kvatro.no>.
* coffread.c (getfilename): Eliminate COFF_NO_LONG_FILE_NAMES
test, which is apparently left over from when we used native
include files and couldn't depend on the member names being there.
* tm-3b1.h, tm-altos.h, tm-i386v.h: Don't set it.
ALso fix this in tm-i860.h which isn't ChangeLogged since it's sanitized out
for lack of paperwork.
(*.tab.c): Change dependency on Makefile to depend on
Makefile.in, otherwise it always rebuilds after configuring.
Force output *.tab.c file into current directory even in "make"
versions that rewrite dependent file names used in command lines.
* TODO: Remove some things we did.
* am29k-opcode.h, convx-opcode: Remove; now in ../include/opcode.
* os68k-xdep.c: Remove; useless file (os68k is a target only).
* convex-pinsn.c: Use ../include/opcode/convex.h. Add CONST.
* symtab.h: Eliminate unnamed unions and structs.
* c-exp.y (exp): Use lcurly and rcurly for arrays and UNOP_MEMVAL
constructs.
* parse.c (free_funcalls): Moved prototype from parser-defs.h,
made function static.
* parse.c (struct funcall): Moved struct def from parser-defs.h.
* parse.c (funcall_chain): Moved from parser-defs.h, made static.
* parse.c (start_arglist):
* parser-defs.h (free_funcalls): Moved prototype to parse.c.
* parser-defs.h (struct funcall): Moved struct def to parse.c.
* parser-defs.h (funcall_chain): Moved to parse.c.
* printcmd.c (print_frame_nameless_args): Fix prototype.
* tm-mips.h (setup_arbitrary_frame): Fix prototype.
* tm-sparc.h (setup_arbitrary_frame): Fix prototype.
* valops.c (typecmp): Moved prototype from values.h.
* value.h (typecmp): Moved prototype to valops.c, made static.
**** start-sanitize-chill ****
* ch-exp.y (yylex): Change way control sequences are disabled.
**** end-sanitize-chill ****
inside_entry_func): PC of zero is always "bottom of stack".
* printcmd.c (print_frame_args, print_frame_nameless_args):
Let print_frame_nameless_args decide whether there are any,
laying groundwork for possibly later printing 29K args for
functions where we have tag words but no symbols.
Let print_frame_nameless_args decide whether there are any,
laying groundwork for possibly later printing 29K args for
functions where we have tag words but no symbols.
as there are (up to MAXARGS). Pass all of them in argc, argv
format to SETUP_ARBITRARY_FRAME. Put the burden of checking how
many there were, onto SETUP_ARBITRARY_FRAME.
* tm-mips.h, tm-sparc.h: Corresponding changes.
* mips-tdep.c, sparc-tdep.c: Ditto.
* mipsread.c (parse_partial_symbols): Complain about block
indexes that go backwards. Fix from Peter Schauer.
* symfile.c (syms_from_objfile, symbol_file_add): Allow a
symbol-file that has no linkage symbols to be read.
* tm-rs6000.h, xm-rs6000.h: (SIGWINCH_HANDLER and friends): Move
from tm- file to xm-file, since they're host dependent.
* valarith.c (value_binop): Typo.
an integral number of times.
* language.c (binop_type_check): Extend BINOP_CONCAT for self
concatenation case.
* valarith.c (value_concat): Rewrite to support self
concatenation an integral number of times.
**** start-sanitize-chill ****
* Makefile.in (ch-exp.tab.c): Change "expect" message.
* ch-exp.y (FIXME's): Make all FIXME tokens distinct, to
eliminate hundreds of spurious shift/reduce and reduce/reduce
conflicts that mask the 5 real ones.
* ch-exp.y (STRING, CONSTANT, SC): Remove unused tokens.
* ch-exp.y (integer_literal_expression): Remove production,
no longer used.
**** end-sanitize-chill ****
Formatting these files now depends on the recently designed
Texinfo conditionals: to format successfully, you must use very
recent versions (not yet distributed by FSF) of texinfo.tex and makeinfo.c.
The new Texinfo commands are @set, @clear, @ifset, @ifclear, and @value.
Recent texinfo-2 Beta distributions contained partial implementations.
texi2roff does not yet support these commands.
There are miscellaneous clean-ups to Makefile.in as well.
implied that "no side effects" was nonfunctional.
* eval.c (evaluate_subexp): Add BINOP_CONCAT case to deal with
character string and bitstring concatenation.
* expprint.c (dump_expression): Add case for BINOP_CONCAT.
* expression.h (exp_opcode): Add BINOP_CONCAT.
* gdbtypes.h (type_code): Add TYPE_CODE_BITSTRING.
* language.c (string_type): Add function to determine if a type
is a string type.
* language.c (binop_type_check): Add case for BINOP_CONCAT.
* valarith.c (value_concat): New function to concatenate two
values, such as character strings or bitstrings.
* valops.c (value_string): Remove error stub and implement
function body.
* value.h (value_concat): Add prototype.
**** start-sanitize-chill ****
* ch-exp.y (operand_3): Add actions for SLASH_SLASH (//).
* ch-exp.y (yylex): Recognize SLASH_SLASH.
* ch-lang.c (chill_op_print_tab): Add SLASH_SLASH (//) as
BINOP_CONCAT.
**** end-sanitize-chill ****
of array constants using the obvious syntax.
* c-valprint.c (c_val_print): Set printed string length.
* dwarfread.c (read_tag_string_type): New prototype and
function that handles TAG_string_type DIEs.
* dwarfread.c (process_dies): Add case for TAG_string_type
that calls new read_tag_string_type function.
* expprint.c (print_subexp): Add support for OP_ARRAY.
* gdbtypes.c (create_range_type, create_array_type): Inherit
objfile from the index type.
**** start-sanitize-chill ****
* ch-typeprint.c (chill_print_type): Add case for
TYPE_CODE_STRING.
* ch-valprint.c (chill_val_print): Fix case for
TYPE_CODE_STRING.
**** end-sanitize-chill ****
constants with an explicit null byte terminator. OP_STRING is
now used for real string types.
* c-lang.c (builtin_type_*): Move declarations to lang.c since
they are used by all languages.
* c-lang.c (_initialize_c_language): Move initializations of
builtin_type_* to lang.c.
* c-typeprint.c (c_type_print_varspec_prefix,
c_type_print_varspec_suffix): TYPE_CODE_PASCAL_ARRAY renamed
to TYPE_CODE_STRING.
* c-valprint.c (c_val_print): Change the way character arrays
are printed as strings to be consistent with the way strings
are printed when pointer-to-char types are dereferenced.
Remove test of print_max before calling val_print_string, which
now does it's own test.
* eval.c (evaluate_subexp): Add case for OP_ARRAY.
* expprint.c (print_subexp, dump_expression): Add case for OP_ARRAY.
* expression.h (enum exp_opcode): Add OP_ARRAY and document.
* gdbtypes.c (builtin_type_*): Add declarations moved from
c-lang.c.
* gdbtypes.c (create_string_type): New function to create real
string types.
* gdbtypes.c (recursive_dump_type): TYPE_CODE_PASCAL_ARRAY
renamed to TYPE_CODE_STRING.
* gdbtypes.c (_initialize_gdbtypes): Add initializations of
builtin_type_* types moved from c-lang.c.
* gdbtypes.h (enum type_code): TYPE_CODE_PASCAL_ARRAY renamed
to TYPE_CODE_STRING.
* gdbtypes.h (builtin_type_string): Add extern declaration.
* gdbtypes.h (create_string_type): Add prototype.
* m2-lang.c (m2_create_fundamental_type): TYPE_CODE_PASCAL_ARRAY
renamed to TYPE_CODE_STRING.
* m88k-tdep.c (pushed_size): TYPE_CODE_PASCAL_ARRAY renamed to
TYPE_CODE_STRING.
* mipsread.c (_initialize_mipsread): TYPE_CODE_PASCAL_ARRAY
renamed to TYPE_CODE_STRING.
* parse.c (length_of_subexp, prefixify_subexp): Add case for
OP_ARRAY.
* printcmd.c (print_formatted): Recognize TYPE_CODE_STRING.
* typeprint.c (print_type_scalar): TYPE_CODE_PASCAL_ARRAY renamed
to TYPE_CODE_STRING.
* valops.c (allocate_space_in_inferior): New function and
prototype, using code ripped out of value_string.
* valops.c (value_string): Rewritten to use new function
allocate_space_in_inferior, but temporarily disabled until some
other support is in place.
* valops.c (value_array): New function to create array constants.
* valprint.c (val_print_string): Add comment to document use,
complete rewrite to fix several small buglets.
* value.h (value_array): Add prototype.
* value.h (val_print_string): Change prototype to match rewrite.
**** start-sanitize-chill ****
* ch-valprint.c (chill_val_print): Add case for TYPE_CODE_STRING.
* ch-exp.y (match_character_literal): Disable recognition of
control sequence form of character literals and document why.
**** end-sanitize-chill ****
read_memory to get byte order right.
* hppah-tdep.c (find_unwind_info): Don't read in unwind info
anymore. This is done in paread.c now. We expect unwind info
to hang off of objfiles, and search all of the objfiles when until
we find a match.
* (skip_trampoline_code): Cast arg to target_read_memory.
* objfiles.h (struct objfile): Add new field obj_private to hold
per object file private data (unwind info in this case).
* paread.c (read_unwind_info): New routine to read unwind info
for the objfile. This data is hung off of obj_private.
* tm-hppa.h: Define struct obj_unwind_info, to hold pointers to
the unwind info for this objfile. Also define OBJ_UNWIND_INFO to
make this easier to access.
* c-valprint.c (c_val_print): Extract code for printing methods
and move it to cp_print_class_method in cp-valprint.c.
* c-valprint.c (c_val_print): Extract code to print strings and
move it to val_print_string in valprint.c.
* cp-valprint.c (cp_print_class_method): New function using
code extracted from c_val_print.
* valprint.c (val_print_string): New function using code
extracted from c_val_print.
* value.h (val_print_string): Add prototype.
**** start-sanitize-chill ****
* ch-exp.y (CHARACTER_STRING_LITERAL): Set correct token type.
* ch-exp.y (literal): Add action for CHARACTER_STRING_LITERAL.
* ch-exp.y (tempbuf, tempbufsize, tempbufindex, GROWBY_MIN_SIZE,
CHECKBUF, growbuf_by_size): New variables, macros, and support
functions for implementing a dynamically expandable temp buffer.
* ch-exp.y (match_string_literal): New lexer function.
* ch-exp.y (match_bitstring_literal): Dynamic buffer code
removed and replaced with new CHECKBUF macro.
* ch-exp.y (yylex): Call match_string_literal when appropriate.
* ch-valprint.c (ch_val_print): Add code for TYPE_CODE_PTR.
**** end-sanitize-chill ****
comment.
* gdbtypes.h, gdbtypes.c: Use const in decl of
cplus_struct_default, now that pa-gas assembler has been fixed.
* hppah-nat.c: Formatting.
* hppah-tdep.c: Remove lots of useless externs for variables we
don't use.
* (find_unwind_entry): Speed up by using binary search, and a one
entry cache.
* (rp_saved): New routine to see what unwind info says about RP
being saved on the stack frame.
* (frame_saved_pc): Look for prologue to see if we need to
examine the stack for the saved RP or not.
* (init_extra_frame_info): Check for prologue, instead of
framesize to determine if we are frameless or not.
* (frame_chain_valid): Stop backtraces when we run into _start.
* (push_dummy_frame): Reformat to make more readable.
* (find_dummy_frame_regs): ditto.
* (hp_pop_frame): ditto.
* (hp_restore_pc_queue): small cleanup.
* (hp_push_arguments): ditto.
* (pa_do_registers_info): ditto.
* (skip_prologue): New routine created from SKIP_PROLOGUE macro.
* tm-hppa.h: Move contents of SKIP_PROLOGUE into hppah-tdep.c.
* Define FRAME_CHAIN_VALID.
* Turn on BELIEVE_PCC_PROMOTION so that we can access char args
passed to functions.
* paread.c (pa_symtab_read): Use new bfd conventions for
accessing linker symbol table.
* (pa_symfile_init): Access embedded STAB info via BFD section
mechanism and related macros.
* Handle recursive traps.
* Remove all trap init code. This needs to be done by the
environment.
* (set_mem_fault_trap): Call exceptionHandler() to setup this
trap.
* (handle_exception): See if we are at breakinst, if so, then
advance PC sp that users can just step out of breakpoint().
* (case 'G'): Don't let GDB hack CWP. Also, copy saved regs to
new place if SP has changed.
* (case 's'): Get rid of this, we can't do it yet.
* (case 't'): New command to test any old random feature.
* (case 'r'): New command to reset the system.
* (breakpoint): Add label to breakpoint trap instruction so that
handle_exception() can detect where we are and get past the
breakpoint trivially.