libiberty/strsignal.c. Widespread changes to use libiberty/strerror.c
functions for errno manipulations and libiberty/strsignal.c for signo
(signals) manipulations.
and use it to decide when to print the actual type name rather than
trying to invent the name of a fundamental type. This clears up the
confusion between int/long when they are the same sizes, removes one
obstacle to multi-language support (previously valprint.c thought
everything was a C type), and allows gdb to support distinctions between
explicitly and implicitly signed types when the compiler supports such
distinction in the debug output (as does every ANSI compiler I tested
except for gcc).
and fix all usages to be independent of host/target integer size
mismatches. However, cross debugging will still not work until the
sign extension issue is resolved either by fixing the bfd library
or implementing sign extension in the gdb code.
too high or when skipping `forwards' moves us backwards.
(parse_type): Print mis-guessed tag name in complaint.
(parse_external): Eliminate cur_stab and obscure top_stack clobbers.
(parse_procedure): Do not attempt to create symbols; just fill in
the SYMBOL_VALUE field of a .gdbinfo. symbol if we can find one.
(psymtab_to_symtab_1): Split up `stabs' from `native ecoff' code
for clarity. Set top_stack before calling parse_external. In
stabs, sort symbols before calling parse_procedure.
* mipsread.c: Lint.
* symmisc.c (std_in, std_out, std_err): Add vars to access std
FILE *'s when debugging GDB (e.g. as args to dump_symtab).
* Makefile.in: Remove stage* targets. Avoid echo on recursive
makes. Eliminate doc/Makefile from tar.Z file if doc/Makefile.in
exists.
* mipsread.c: Cleanup. Add more complaints for unhandled cases.
Remove new symbol types and such to ../include/coff/symconst.h.
(parse_symbol): Simplify code for parsing struct/enum/unions.
(parse_type): Handle `long long' types.
(upgrade_type): Handle `const' qualifier.
(parse_partial_symbols): fix indentation, clean a bit.
Documentation' ahead of `Installing GDB' to match README.
Update shared library doc, -readnow and -mapped, and directory
structure (add glob and mmalloc). Update configure doc.
of *options* "-readnow" and "-mapped".
1) Change title/subtitle to come closer to text used by FSF when they
printed this thing (but still avoid silliness of having word "manual" in
the title).
2) First few minor corrections from most recent Chassell pass.
(VERSION): Bump to 4.4.85.
* mipsread.c: Update for new include files. Lint.
* tm-irix3.h, tm-mips.h: Use new include files for ECOFF symtab.
* config/{bigmips.mt, littlemips.mt, irix3.mt, decstation.mt}:
Don't need to bring in mipsread.o specially any more.
routine (for Irix-4.x). Make many funcs static and void.
* mips-tdep.c (mips-frame-chain): Clean up, simplify.
* (init_extra_frame_info): Don't trash cached value of frame
pointer register. This fixes backtracing through routines that use
alloca(). Generally clean up declarations of functions, and use
typedefs and macros to reference data structures as appropriate.
* tm-irix3.h, tm-mips.h (EXTRA_FRAME_INFO): use proper type for
proc_desc element.
character type is unsigned. Add some cases to the tables in procfs.c
for constants defined in newer SVR4 systems and reorder the tests for
ioctl support of resetting the inherit-on-fork flag to favor the latest
method using PIOCRESET.
abbreviated type name is messed up. Reported by Joe Buck.
FIXME, we need to determine whether GDB or GCC needs to be
smarter to correctly locate this type name. p*927 circumvention,
needs real fix when Tiemann's back.
.gdbinfo. symbols are created. Move creation from parse_procedure
to parse_symbol, where it is fairly easy to grow the symtab. This
also fixes a symtab trashing bug on all mips-based systems.
* (got_numargs, lookup_numargs, free_numargs): Delete. Not
needed anymore.
* tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c: Re-do struct
mips_extra_func_info, and all the PROC_xxx macros that look at it.
(HFILES): Add call-cmds.h.
* call-cmds.h: New header for command fns called by other files.
* breakpoint.c (watchpoints_info): Remove, same as breakpoints_info.
(breakpoint_1): Remove unused type arg. Change callers.
tried to read symbols from a file, for mapped objfiles. This fixes a
memory leak (actually a constant memory growth) due to reading symbol
files with no debug info and thus generating no psymtabs or symtabs.
Most typically happened with shared libraries.
(such as isupper(x)), instead of hard-wiring in ASCII-isms
(such as (x >= 'A' && x <= 'Z')).
(There are still more of these in other files.)
* main.c (defined_command): Lower-case the user's
new command before entering it. Needed because
command lookup is case-insensitive (and also lower-cases).
(Based on Metin's earlier patch.)
flags to disable use of GNU malloc/mmalloc.
* munch: Change SYSV rule to allow .text before the label,
as well as after, to work for AIX.
* gdbtypes.h: Minor clarifiction.
basis. See comments in objfiles.h and details in ChangeLog. Also remove
redundant definitions of FRAME_CHAIN_VALID from most of the tm-* files and
use a default definition in frame.h.
elfread.c (coff_symfile_finish): Add function, prototype, and
add to the xxxx_sym_fns struct for each file type. Also reformat
the xxxx_sym_fns vector to a standard format and add comments.
* coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c,
elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read):
Pass pointer to struct objfile rather than pointer to sym_fns.
Change references inside each function accordingly. Allocate any
symbol file specific info in the per-objfile memory region.
* dbxread.c (free_and_init_header_files): Break function into
free_header_files(), called from dbx_symfile_finish(), and
init_header_files(), called from dbx_new_init().
* dbxread.c (dbx_new_init): Move deallocation things to new
dbx_symfile_finish function.
* elfread.c (elf_new_init): Call buildsym_new_init().
* objfiles.c (free_objfile): Call the appropriate symfile_finish()
routine for the objfile before deallocating other stuff.
* sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg.
* symfile.h: Move struct sym_fns to before struct objfile def.
Add sym_finish function pointer and change prototypes of other
function pointers to reflect passing struct objfile pointer rather
than struct sym_fns pointer.
* symfile.c: Remove now obsolete symtab_fns pointer.
* symfile.c (symfile_init): Renamed to find_sym_fns, and now only
locates the correct sym_fns struct for the given objfile.
* symfile.c (syms_from_objfile, symbol_file_add): Restructured
for better support of mapped symbol tables.
* symfile.c (symbol_file_command): Remove obsolete code using
symfile_fns.
* symfile.h: Remove duplicate declarations for symfile_objfile,
entry_point, and object_files.
* target.c (target_info): Compare symfile_objfile to NULL.
* xcoffread.c (aixcoff_new_init): Move deallocation stuff to
aixcoff_symfile_finish().
* symtab.c (list_symbols): demangle before pattern matching.
* symtab.c: Other fixes to improve handing of operators.
* valprint.c (type_print_base): Fix test for constructor.
* values.c (value_static_field): Allow evaluation of
CLASS::METHOD, returning a function pointer.
(2) Add fnf to GDB credits for SVr4 stuff. (Need to sift ChangeLog again for
more recent credits).
(3) document "mapped", "readnow" keywords (with file or symbol-file commands;
for now no mention of add-symbol-file in this context), -m and -mapped
cmd-line options, and associated explanations.
printpsyms.
(2) Fix errors found by makeinfo.
(3) Initial docn for "info proc" and its subcommands. Should probably
be expanded somewhat after implementation complete.
lucid.m4: config for Lucid/NCR (like "all.m4" but also turns on _LUCID__)
none.m4: turn _LUCID__ off by default
gdb.texinfo:
1) Use bold rather than italic for user input in intro, to avoid discord
with meta-variable convention throughout manual (jim@wrs.com suggestion).
2) Some mumbling about using GDB under Energize/Cadillac.
(conditionalized on _LUCID__, not included yet in general-doc config)
3) more remarks about debugging optimized code, incl vanishing unused vars
(rms/gnu/net suggestion).
4) @emph replaces @i in a few spots (emphasis should affect info file as
well as printed manual).
5) "memory tracing", "breakpoint on variable modification" index entries
added, pointing to watchpoints (gnu suggestion).
6) Less passive, more index entries, in breakpoint-number description
7) doc new convenience var $bpnum (due to grossman?)
8) Update "info breakpoints" to describe new Grossman format; note now
synonymous with "info watchpoints".
9) Describe negative (GDB internal) breakpoints and new "info all-breakpoints"
10) Slight change to description of colon-colon GDB expression notation,
describing function::var as well as file::var and noting var is static
(lmb question, gnu suggestion)
11) Doc Per's new &(&foo) for debugging C++
12) Rephrase paragraph in configure appendix to avoid overfull box
(in *large* format!)
13) Additional warning re VPATH feature required for --srcdir= config.
(gnu suggestion)
checked in earlier. These are Makefiles relevant to the progressive
release currently in progress.
* added exec_prefix
* default bindir now exec_prefix/bin
* default libdir now exec_prefix/lib
* default mandir now prefix/man
* default infodir now prefix/info
* added oldincludedir, default NULL
* remove all traces of the old -subdirs and -namesubdir support,
including code, for loops, and all subdir/unsubdir stuff.
* remove old style staging targets {de-}stage[1234], comparison,
bootstrapN, from all but the bootstrappable tools.
* added check targets.
* removed any "Last Mod" lines.
* forced copyrights to '92 and shifted some from Cygnus to FSF.
* added tooldir and program_prefix where needed.
* updated texinfo and man pages, removed all references to multiple
hosts or targets.
for remote MIPS by limiting heuristic to 200 byte search.
(heuristic_proc_desc): Byte-swapping.
(mips_print_register): Cope with failure of
read_relative_register_raw_bytes. Byte-swap integers for
printing.
* mips-pinsn.c (print_insn): Byte-swap instruction.
(remote_resume): Mention how to cope with signals.
(remote_interrupt): Add debug msg.
(remote-wait): Implement new 'T' reply, which includes
status, PC, and FP all in a single short message.
(putpkt): Add further debugging of packet acks.
* Makefile.in (VERSION): Roll to 4.4.5.
gdb/.Sanitize gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c
gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h
gdb/xm-irix4.h gdb/config/.Sanitize gdb/config/mt-irix3
gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x.
Actually, just pick up a couple of files that I forgot.
* defs.h: Reword confusing comment about ANSI prototypes.
* defs.h: Some minor whitespace changes.
* infrun.c (wait_for_inferior): Compare int tmp to int 0,
not NULL, which can be (void *).
* tm-amix.h, tm-i386v4.h: Add defines for setjmp/longjmp handling.
* tm-i386v.h (SP_ARG0): Define
* xm-sysv4.h: Back out of change for missing prototypes.
* i386-tdep.c (get_longjmp_target): Add function.
* All GDB files that #include defs.h: Removed stdio.h.
(defs.h): #include stdio.h.
This has been tested by building GDBs for all targets hosted on Sun4.
None of the build problems were related to stdio.h inclusion. (n.b.
many configurations don't build for other reasons.)