Fix from maj@lucid.com.
* remote-udi.c (udi_open): Reset vars so that user can re-run
programs without leaving GDB.
* (many routines): Slightly improve error handling.
* (download): Zero out BSS by longs instead of bytes to avoid
timeouts in real hardware.
* 29k-share/udi/udip2soc.c (UDIDisconnect, UDIKill): Indicate
that connection is no longer in use after shutdown() of socket.
This keeps GDB from dying of a SIGPIPE when you issue multiple
`target udi' commands.
local formatting information.
* language.h (language_defn): Replace individual format info
with language_format_info structs.
* language.h (local_*_format, local_*_format_prefix,
local_*_format_specifier, local_*_format_suffix): New macros
for binary/octal/decimal/hex formats to access info elements.
* c-exp.y (c_language_defn): Update for new format handling.
* m2-exp.y (m2_language_defn): Update for new format handling.
* dbxread.c (language.h): Include for partial-stab.h use.
* defs.h (local_hex_format, local_hex_format_custom,
local_hex_string, local_hex_string_custom): Move to language.h.
* language.c (local_hex_format_custom, local_hex_string,
local_hex_string_custom, local_octal_format_custom): Use new
format handling.
* language.c (unknown_language_defn, auto_language_defn,
local_language_defn): Update for new format handling.
* printcmd.c (print_scalar_formatted): Use new macros
to access decimal and binary format info for printing.
**** start-sanitize-chill ****
* c-exp.y (chill_language_defn): Update for new format handling.
* ch-exp.y (CHARACTER_LITERAL): Add support to yylex.
* ch-exp.y (match_integer_literal): Add function.
* ch-exp.y (builtin_type_chill_char): Add definition.
* gdbtypes.h (builtin_type_chill_char): Add declaration.
**** end-sanitize-chill ****
* tm-rs6000.h (BELIEVE_PCC_PROMOTION): Define, since AIX cc gets
it right.
(aix_framedata): added nosavedpc field.
(SAVED_PC_AFTER_CALL): Don't try to optimize; just call
read_register.
(FRAMELESS_FUNCTION_INVOCATION): Pass second argument of 0.
(FRAME_SAVED_PC): If PC not saved, use SAVED_PC_AFTER_CALL.
* rs6000-tdep.c (skip_prologue): Handle gcc generated stfd
instructions as function_frame_info does. Expand special case of
st r31,-4(r1) to be st r31,NUM(r1), since gcc can generate offsets
other than -4.
(pop_frame): Add 4 rather than sizeof (int) to avoid host
dependence.
(function_frame_info): Set frameless if the function has no frame,
and set nosavedpc if the PC was not saved. Handle gcc generated
stfd 31,-4(31); st 31, -12(31) correctly.
(frameless_function_invocation): New second argument pcsaved; if 0
return whether the function has a frame, if 1 return whether the
function saved PC.
(frame_initial_stack_address): Correct typo: cache registers for
callee_fi, not for fi, (avoids reading garbage memory locations).
* symtab.c (find_pc_psymtab): Clean up a bit.
* (find_pc_symtab): Fix comments, clean up code.
* (find_pc_line): General cleanups, efficiency improvements.
Also, don't return garbage when some line info exists, but there
was no good match.
29k-share/dfe/mini2udi.o.
* config/a29k-udi.mt: Remove yank.o and mini2udi.o.
* alldeps.mak, depend: Update to deal with removal of
aforementioned files.
* remote-udi.c: Major cleanups. Clean up udi_open and drop
requirement for useless 'program' argument. Clean up
udi_create_inferior, and udi_load to call common download()
routine. Create download routine to load remote hosts directly
(with the help of BFD) so that we don't need yank.c and
mini2udi.c.
Fix udi_detach to call UDIDisconnect with
the right arguments. Clean up udi_resume, don't assign tip_error
twice. Clean up udi_wait, straighten out status codes. Make
udi_kill really work.
removed redundant parse rules. (YYSTYPE): added typed_val, removed
UINT and CHAR rules. (parse_number): work out the targetwise type
of a number based upon it's size and qualifiers. (yylex): chars
are now treated the same way as ints.
* source.c (indentify_source_line): don't core dump if wanted
line is larger than number of lines in source. (can happen when
coff gets confused about #included source).
when debugging a program with 100 shared libraries.
* solib.c (solib_map_sections): Always close the BFD we open.
Free all malloc'd storage we allocate, too, including error cases.
(struct so_list): Remove unused so_bfd member.
(clear_solib): Don't bother closing so_bfd.
* symfile.c (symfile_bfd_open): Mark newly opened BFD as
cacheable. `So many symbol files, so little file descriptors.'
Stubs should stand alone as much as possible.
* source.c (show_directories): Avoid printf_filtered length prob
pointed out by Jonathan Stone.
* i960-pinsn.c (MEM_MAX, MEM_SIZ): Set upper limit properly to
avoid accesses beyond end of table. Fix by Lee W. Cooprider,
<Lee_Cooprider@vos.stratus.com>.
* go32-nat.c: Remove, there is no native go32 support.
* go32-xdep.c: Remove unused fork, fvork, wait, execlp, kill_inferior.
* infcmd.c (run_command): Avoid long calls to printf_filtered.
Bug fix courtesy of Alexander Klaiber.
new routines to deal with sending SIGINTs to attached processes
when the user interrupts the controlling GDB.
* inftarg.c (child_wait), procfs.c (procfs_wait): Add calls to
the aforementioned routines when waiting for the attached process.
* minsyms.c (lookup_minimal_symbol_by_pc): subtract 1, not 2, from
minimal_symbol_count, because the NULL symbol is not included in
the count. This prevented this function from finding the last
symbol in the table.
* dbxread.c (process_one_symbol): if not defined
(BLOCK_ADDRESS_FUNCTION_RELATIVE), set function_start_offset at
the start of the function, not just after N_FUN.
remap all malloc's to xmalloc's and all realloc's to xrealloc's.
* c-exp.y, m2-exp.y: Add comment about how malloc/realloc are
remapped to xmalloc/xrealloc, use only malloc/realloc in grammer
file. Remove preprocessor defines that previously did remapping.
Wind River stole them from the Sun Unix distributions.
We can't distribute them in an FSF GDB release.
We should even rewrite them for our own releases, though that is not
as urgent.
Until these two files are rewritten, VxWorks support in GDB will not compile.
The i960 support can be gained by just rewriting the ptrace.h file.
Only small amounts of the reg.h file need to be rebuilt -- compile
remote-vx.c to see what is needed.
John