(Summary, C): fix xrefs in newly contributed text.
(Threads): index entries, clarifications, example
(passim): minor typos fixed, phrasing improvements
* remote.texi (Bootstrapping): rephrase text on ^C and add index
entries; (Server): explain use of gdbserver w/real-time systems,
add example of conflicting TCP port; (MIPS Remote) break up
running text into table, highlighting commands, and add example.
(these probably crept w/minor changes in spacing when A4 stuff
updated recently); update copyright date consistently
* cygref.tex: bring up to date with refcard.tex
coredep.o to this list.
* gdb/m88k-nat.c (m88k_register_u_addr): Avoid error when passed
the number for an M88110 extended register by just returning the
address of r0.
ChangeLog symtab.c
* symtab.c(decode_line_1): fix the inconsistency of setting
breakpoint with '' or without them. The '' is needed when you
want name completion.
ChangeLog valops.c
* valops.c(search_struct_method): to use unified search so type
conversion operator works in calling method. (this file should be
checked in with last commit, I missed it).
* valprint.c (val_print_string): When looking for a null
terminator compare current bufsize to fetchlimit to determine
when to stop, instead of computing buffer+fetchlimit which
may overflow for very large limits (like "unlimited").
ChangeLog eval.c valarith.c
* eval.c(evaluate_subexp): to use unified search so type conversion
operator works in calling method.
* valarith.c(value_x_binop, value_x_unop): same as above.
ChangeLog eval.c valops.c
* valops.c (typecmp): improve prototype matching when calling
a method. Make 'p (*(ostream *) &cout) << "lll" ' to work.
* eval.c(evalute_subexp): fix operator search problem when call
like p x.'operator+'(i).
* Makefile.in: (HFILES,TAGFILES): Split into _WITH_SRCDIR and
_NO_SRCDIR versions.
(TAGS): Only add srcdir to TAGFILES_NO_SRCDIR.
(This is part of a long saga involving me putting srcdir on
everything (perhaps for now-obsolete reasons, I forget), Rich
removing the srcdir from everything, Stu putting it back some
places for Sun make, and me just now getting around to fixing
`make TAGS' again).
* gdbtypes.c (check_stub_type): On TYPE_FLAG_TARGET_STUB, do
what cleanup_undefined_types does for arrays, except we clear
TYPE_FLAG_TARGET_STUB if we fix up the type.
* stabsread.c (cleanup_undefined_types): Add comments about how
doing arrays here is no longer the clean way to do it.
(read_array_type): Set TYPE_FLAG_TARGET_STUB as well as calling
add_undefined_type.
* c-typeprint.c, ch-typeprint.c: Move call to check_stub_type
outside switch so it happens for all type codes.
* cp-valprint.c (cp_print_value_fields): Recurse to val_print,
instead of c_val_print, so that check_stub_type gets called.
* gdbtypes.h, gdbtypes.c, m2-lang.c, ch-lang.c, c-lang.c: Remove
TYPE_FLAG_SIGNED. It was inconsistently set, never checked
(except in recursive_dump_type), and is pointless.
ChangeLog stabsread.c
* stabsread.c (patch_block_stabs, define_symbol, read_type): in
g++ template instantiation, nested class can be part of the
params, and '::' can gets into symbol or type names. This is
to fix the problem. (fix pr3837)
* m68k-tdep.c (m68k_saved_pc_after_call): Get rid of
GDB_TARGET_IS_SUN3. Use more general SYSCALL_TRAP macro.
* config/m68k/m68klynx.mh (NATDEPFILES): Remove exec.o (it's
already in TDEPFILES).
* config/m68k/tm-m68k.h (SAVED_PC_AFTER_CALL): Use
m68k_saved_pc_after_call.
* Remove all Sun3 specific stuff.
* (FIX_CALL_DUMMY): Cast arg to bfd_putb32 to unsigned char *.
* config/m68k/tm-m68klynx.h: Define SYSCALL_TRAP as trap #10.
Disable REMOTE_BREAKPOINT mechanism.
* config/m68k/tm-sun3.h: Get rid of GDB_TARGET_IS_SUN3.
* Protect from multiple includion.
* Move Sun3 specific stuff from tm-m68k.h to here.
* Define SYSCALL_TRAP as trap #0.
* Remove def of SAVED_PC_AFTER_CALL (now in tm-m68k.h).
* gdbserver/low-lynx.c: Redo all register store/fetch stuff to
make it portable for 386 and 68k.
registers mentioned in the proc_desc have been saved. This
generalizes mips_in_lenient_prologue in the sense that we keep
searching until we've found saves for all the registers, not just
look for a "lenient prologue" pattern.
* mips-tdep.c: #if 0 lenient prologue code.
* mips-tdep.c (heuristic_proc_desc): Don't assume a host short
is 16 bits.
to print the symbol name.
* stabsread.c (define_symbol): Handle cfront lossage for
struct/union/enums and typedefs.
* partial-stab.h (case N_BINCL): Update psymtab_language
as appropriate when changing subfiles.
(case N_SOL): Update psymtab_language as appropriate when
changing subfiles. Add typedef for structs, unions, and enums
when processing C++ files.
to picking which Bbss.bss symbol to use, and (because there seems to
be no good way of doing it) re-write some of the text to make it
sound like Bbss.bss isn't such a great idea after all (as currently
designed).
good results, say they have to use stabs. Specifically say cfront
doesn't work well.
(Summary): Merge in information on Modula-2, Pascal, and Chill from
the gdb README. Add xrefs to places where the support for the various
languages is described in detail.
within_function just because local_symbols is NULL. It appears
that this bug has existed since the 10 Apr 89 change which started
clearing within_function here.
* thread.c: Include "gdbcmd.h" and <ctype.h>.
* Makefile.in: Update dependency.
* thread.c (thread_command): Remove unused variable p.
* values.c (unpack_double): Use len instead of TYPE_LENGTH (type).
* valprint.c (print_floating): Correctly check sign bit now that
we are using unsigned arithmetic.
* symtab.c (find_pc_line_range): Remove unused variables exact_match,
ind, and l.
should not try to search for _initialize_* functions.
* remote-udi.c (udi_wait): Change UDIGdb_StdoutReady back to
UDIStdoutReady. It accidentally got changed on 24 Oct 93 when
stdout was changed to gdb_stdout. Likewise for UDIGetStdout,
UDIStderrReady, and UDIGetStderr.
visibility character, just shove it in fip->list->visibility.
(read_baseclasses): Don't give up on unknown virtual or visibility
characters, just assume a reasonable default, complain, and keep
going.
(attach_fields_to_type): Complain on unrecognized visibility.
One result of all this is that '9' (VISIBILITY_IGNORE) can be used
in a stab as well as being something which GDB uses internally.
gdbtypes.h stabsread.c cp-valprint.c ChangeLog
* gdbtypes.h : add a field 'ignore_field_bits in cplus_specific,
and macros to handle the bits.
* stabsread.c (read_one_struct_field): add VISIBILITY_IGNORE, and
for field of length 0, set this bit on.
* cp-valprint.c (cp_print_value_fields): for VISIBILITY_IGNORE
field, print <no value>.
macro to set process groups.
* infptrace.c (child_resume): Temporarily use Lynx PIDGET to
specify resumption of all threads.
* infrun.c (wait_for_inferior): Fix handling of thread-specific
breakpoints for systems where DECR_PC_AFTER_BREAK > 0 (ie: backup
PC by the right amount when continuing the thread).
* thread.c (thread_apply_command): Add the `thread apply'
command to apply a given GDB command to a list of threads.
values.c valops.c ChangeLog
* values.c (value_fn_field): when physical name not found, do not
error, but return null.
* valops.c (value_struct_elt): when name and args match does not
mean it is the one, some times a typedef class can have the same
memeber method and args. This probably will not happen with new
version of g++, but it does happen in old g++ and cause gdb error.
* Makefile.in (udi2go32.o): add rule to build this file
* 29k-share/udi/udi2go32.c: new file
* config/a29k/a29k-udi.mt: add udi2go32.o
* 29k-share/udi/{udr.c, udip2soc.c}: #ifdef out the entire file
if __GO32__ is defined. What a hack.
* Makefile.in (udi2go32.o): add rule to build this file
* 29k-share/udi/udi2go32.c: new file
* config/a29k/a29k-udi.mt: add udi2go32.o
* 29k-share/udi/{udr.c, udip2soc.c}: #ifdef out the entire file
if __GO32__ is defined. What a hack.
source_error, source_error_allocated, and source_pre_error.
(command_line_input): If source_file_name set, increment
source_line_number and set error_pre_print with them.
(source_command): Set source_* and make a cleanup so they get
set back.
target_terminal_ours_for_output before attempting output.
* fork-child.c (fork_inferior): Fix comment so that it suggests
"set shell" rather than having "set env SHELL" affect GDB's
operation.
hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info),
valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if
REGISTER_CONVERTIBLE is defined, otherwise just copy the content.
Pass desired type to REGISTER_CONVERT_TO_*.
* config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*):
Pass length of desired type to store/extract_floating.
* config/i386/tm-arm.h, config/i386/tm-i386aix.h,
config/i386/tm-sun386.h, config/i386/tm-symmetry.h,
config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*):
Use extract_floating and store_floating with length of desired type.
* config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type
parameter to REGISTER_CONVERT_*.
* config/a29k/tm-a29k.h, config/convex/tm-convex.h,
config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h,
config/h8500/tm-h8500.h, config/i386/tm-i386v.h,
config/mips/tm-mips.h, config/ns32k/tm-merlin.h,
config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h,
config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE,
REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove
versions for which REGISTER_CONVERTIBLE is always false.
* z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw):
Remove, no longer used.
* alpha-tdep.c (alpha_register_convert_to_raw,
alpha_register_convert_to_virtual): New routines to handle
the different raw formats in alpha floating point registers.
* config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE,
REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
a struct symtab_and_line argument, rather than a symtab and a line.
Re-write it to be based on the address rather than bogusly adding
one to the line number and hoping that has something to do with the
end of the line.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.
Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')
Replaced calls to fopen for output to gdb_fopen.
Added sufficient goo to utils.c and defs.h to make the above work.
The net effect is that stdio output functions are only directly used
in utils.c. Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.
In the near future, GDB_FILE will stop being equivalant to FILE.
The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior. The testsuite doesn't notice anything
like this, though.
Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code. All output from commands
should go to a GDB_FILE.
Target-specific code can still use stdio directly to communicate with
targets.
right operations ourself, rather than calling symbol_file_command.
If we re-read something, call clear_symtab_users not just
breakpoint_re_set.
* objfiles.h, objfiles.c (build_objfile_section_table): No longer
static.
* symfile.c (clear_symtab_users): Call clear_pc_function_cache.
* coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c
(*_symfile_offsets): Set objfile->num_sections.
* remote.c (remote_wait), symfile.c (syms_from_objfile):
Don't muck with objfile->num_sections now that all the symbol
readers set it.
* elfread.c: Clean up obsolete comment about handling only DWARF.
* paread.c: Remove comment about how we should use an "ordinary"
file format with an hppa suffix. There is nothing ordinary about SOM.
* Move SWAP_TARGET_AND_HOST from defs.h to findvar.c because it is
now used only by extract_floating and store_floating.
* valprint.c (print_floating): Use unsigned arithmetic. Use
extract_unsigned_integer instead of SWAP_TARGET_AND_HOST.
Change sizeof (float) to 4 and sizeof (double) to 8 (those are always
the relevant sizes for this code, which is in #ifdef IEEE_FLOAT).
* values.c (unpack_long, unpack_double, value_from_double),
valarith.c (value_binop), stabsread.c (define_symbol):
Use extract_floating and store_floating instead of
SWAP_TARGET_AND_HOST.
* config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*):
Use extract_floating and store_floating.
* config/m88k/tm-m88k.h: Add comments (it should be doing the same).
* i386-tdep.c (i386_extract_return_value),
* remote-nindy.c (nindy_store_registers): Use store_floating.
Remove John's name and email address. Remove item on "always"
("hook-stop" takes care of this). Remove item on executables with
no symbols (this works on some machines, at least). Remove item
about calling error() during symbol reading (I think all the important
ones have been cleaned up). Revise items about signals and remote
systems. Remove section on ^Z requiring several continues to make
it go (this now works. Perhaps the item is based on confusion over
programs (like GDB itself) which catch SIGTSTP and then re-send
themselves the signal. PR 2575 might contain relevant info).
config/mips/{mipsm3.mt,mipsm3.mh},
config/ns32k/{ns32km3.mt,ns32km3.mh}: Use correct names for TM_FILE
and XM_FILE. Replace host files *mach3-xdep.o with native
files *m3-nat.o. Replace host file os-mach3.o with native
file m3-nat.o.
* remote-mon.c: Remove commented out "set remotedebug" command.
* remote-nindy.c: Clean up comment about wanting alternative to
options specified on the GDB command line.
to increase it broke the ability to write large chunks of memory
with m68k-stub and i386-stub. Now we only use more than 400 on
machines where we need that much to write the registers.
* remote.c (remote_write_bytes): Eliminate possible abort(). The
check for when to abort was off by a few bytes and besides which,
it is handled by MAXBUFBYTES, which the caller uses.
* m68k-stub.c: Add comments about trap #1 and trap #8 instructions.
* breakpoint.c: Include thread.h.
* coffread.c: Include stabsread.h.
* Makefile.in: Update dependencies.
* breakpoint.c (mention): Add bp_call_dummy to switch.
* symmisc.c (dump_symtab): Use %d not %ld for line number.
just started failing because they depended on the order the
subcommands are presented, or exact docstring text. This kind of
test is a pain and has minimal benefit.
initialized and uninitialized data sections have the SEC_ALLOC
flag bit set, but only initialized sections have SEC_LOAD set.
SEC_DATA is ignored since it only gets set for initialized
data. Likewise, SEC_HAS_CONTENTS is ignored now because it
never gets set.
* dst.h, dstread.c, config/m68k/{apollo68b.mt,tm-apollo68b.h}:
New files.
* config/m68k/nm-apollo68b.h: Add more defines.
* configure.in: Recognize apollo target, not just host.
* dst.h, dstread.c, config/m68k/{apollo68b.mt,tm-apollo68b.h}:
New files.
* config/m68k/nm-apollo68b.h: Add more defines.
* configure.in: Recognize apollo target, not just host.
cleans up all kinds of hassles (which nm to use in munch, etc). The
new formatting conventions (mostly already followed) are that
the name of the _initialize_* routines must start in column zero,
and must not be inside #if.
* munch: Removed.
* Makefile.in: Remove references to munch.
* serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c,
alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c,
procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c,
i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c,
z8k-tdep.c: Make sure the above conventions are followed. Make
sure they are all declared as returning void. Clean up
miscellaneous comments and such.
cleans up all kinds of hassles (which nm to use in munch, etc). The
new formatting conventions (mostly already followed) are that
the name of the _initialize_* routines must start in column zero,
and must not be inside #if.
* munch: Removed.
* Makefile.in: Remove references to munch.
* serial.c, remote.c, infptrace.c, maint.c, convex-tdep.c,
alpha-tdep.c, hp300ux-nat.c, hppab-nat.c, osfsolib.c, remote-es.c,
procfs.c, remote-udi.c, ser-go32.c, ultra3-xdep.c, sh-tdep.c,
i960-tdep.c, hppa-tdep.c, h8500-tdep.c, dpx2-nat.c, delta68-nat.c,
z8k-tdep.c: Make sure the above conventions are followed. Make
sure they are all declared as returning void. Clean up
miscellaneous comments and such.