bfd_get_symbol_leading_char instead.
* coffread.c (EXTERNAL_NAME): New macro for removing possible
leading character from names.
(read_coff_symtab): Use BFD's FILE *, don't open a second one.
(read_coff_symtab): Complain() about .bb/.eb mismatch, don't error().
(process_coff_symbol, coff_read_struct_type, coff_read_enum_type):
Replace NAMES_HAVE_UNDERSCORE with EXTERNAL_NAME.
* kdb-start.c (main): Remove NAMES_HAVE_UNDERSCORE.
* minsyms.c (install_minimal_symbols): Replace NAMES_HAVE_UNDERSCORE.
Remove SOME_NAMES_HAVE_DOT support (apparently unused).
* partial-stab.h: Replace NAMES_HAVE_UNDERSCORE.
* solib.c: Replace NAMES_HAVE_UNDERSCORE.
* stabsread.h: Remove NAMES_HAVE_UNDERSCORE and HASH_OFFSET.
* symfile.c (syms_from_objfile): Insert debugging check to test
NAMES_HAVE_UNDERSCORE setting against the BFD support. FIXME,
remove this (and all tm-*.h NAMES_HAVE_UNDERSCORE) soon.
* doc/gdbint.texinfo (Host Conditionals): Remove
NAMES_HAVE_UNDERSCORE, SOME_NAMES_HAVE_DOT, document
MEM_FNS_DECLARED.
(Target Conditionals): Remove all of the above.
* coffread.c (decode_type): catch negative tagndx fields generated
by SCO 3.2v4 cc.
* exec.c: comment out string following #endif.
* configure.in (i[34]86-*-sco3.2v4*): use host i386sco4.
* xm-i386sco.h: include <sys/types.h> and <sys/dir.h>, required by
<sys/user.h>.
* config/i386sco4.mh: new file; like i386sco.mh, but don't require
gcc, and define const to empty to avoid SCO 3.2v4 cc bug.
* complaints.c (complain): Made into a varargs function.
* complaints.h: New file, code moved from symfile.h.
* Makefile.in (SFILES_MAINDIR): Add complaints.c.
* Makefile.in (HFILES): Add complaints.h.
* Makefile.in (OBS): Add complaints.o.
* symfile.c (complaint_root, stop_whining, complaint_series,
complain, clear_complaints, add_show_from_set for stop_whining):
Moved to complaints.c.
* symfile.h (struct complaint, complaint_root decl, complain
prototype, clear_complaints prototype): Moved to complaints.h.
* buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c,
gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include
complaints.h. Remove casts from arguments to complain(),
which is now a varargs function, and remove unnecessary
placeholder zero args.
* defs.h (begin_line): Add prototype.
* defs.h (vprintf_filtered): Add prototype.
* dwarfread.c (varargs.h): Remove, no longer needed.
* dwarfread.c (dwarfwarn): Remove prototype and function.
* dwarfread.c (complaints): Define a bunch of complaints.
* dwarfread.c (SQUAWK): Remove macro defs, convert all
usages to standard complain() calls.
* utils.c (begin_line): New function that ensures that
whatever gets filter-printed next starts on its own line.
* utils.c (vprintf_filtered): New func, like vfprintf_filtered,
but to stdout (calls vfprintf_filtered internally).
* remote.c: Avoid printf_filtered line limit. Suggested by
Robert R. Henry, <rrh@tera.com>.
* main.c (main): Accept --silent as well as --quiet. Change +help
to --help. Suggested by Karl Berry, <karl@cs.umb.edu>.
a optional type to decorate as an array type, the type of the
index, and the bounds of the array. Records this additional info
in the array type for use with languages with nonzero array
bounds.
* gdbtypes.h (enum type_code): Update comment for TYPE_CODE_ARRAY
to note that arrays may have bounds.
* gdbtypes.h (create_array_type): Update prototype.
* c-exp.y (ptype production): Adjust for new create_array_type
calling conventions.
* coffread.c (decode_type): Call create_array_type rather than
handcrafting array types.
* convex-tdep.c (value_type): Remove, now use create_array_type.
* convex-tdep.c (value_of_trapped_internalvar): Convert calls to
vector_type into calls to create_array_type.
* dwarfread.c (decode_subscr_data): Name changed to
decode_subscript_data_item throughout.
* dwarfread.c (decode_subscript_data_item): Rewrite to use
create_array_type. Now records index type and range as well.
* dwarfread.c (dwarf_read_array_type): Rewrite as part of
change to use create_array_type.
* dwarfread.c (read_subroutine_type): Test existing user defined
types before decorating them, to ensure they are blank, and
complain about it if they are not.
* dwarfread.c (decode_fund_type): For unrecognized types, always
return some valid type (type integer). If the unrecognized type
cannot be an implementation defined type, complain as well.
* m88k-tdep.c (pushed_size): Update comment for TYPE_CODE_ARRAY.
* m88k-tdep.c (store_param): Update comment for TYPE_CODE_ARRAY.
* mipsread.c (upgrade_type): Add FIXME comment that code to
handcraft arrays should be replaced with call to create_array_type.
* stabsread.c (read_array_type): Replace code to handcraft
array types with call to create_array_type.
* valprint.c (type_print_varspec_prefix): Minor formatting
change, join lines that don't need to be split.
work around PA-GAS assembler bug. Also, add trailing */ to some
comments.
* gdbtypes.c: Remove const from decl for cplus_struct_default.
Same reason as above.
decl for attach_flag, it now lives in inferior.h.
* hppa-pinsn.c: Reformat opcode tables. Add function prototypes.
Make most functions static.
* hppah-nat.c: General cleanups, remove BSD specific code (since
that all lives in hppab-nat.c).
* hppah-tdep.c (frame_chain_valid), tm-hppa.h (FRAME_CHAIN):
Change sense of test against inside_entry_file(). This fix is
from U. of Utah.
* tm-hppa.h (PUSH_DUMMY_FRAME, POP_FRAME): Use char * for 2nd arg
to read/write_register_bytes().
type is an enum, check qualifiers of its first member, as well as
the base type of the member. Bug found and fixed by John M.
Farrell, <farrell@fjort.reo.dec.com>.
* config/{vxworks68,vxworks960}: Don't include xdr_regs.o.
_initialize_c_exp.
* m2-lang.c (_initialize_m2_language): Name changed from
_initialize_m2_exp.
* m2-lang.c (_initialize_m2_language): Change malloc to xmalloc since
it is no longer inside m2-exp.y, where it was remapped by Makefile.
**** start-sanitize-chill ****
* ch-lang.c (_initialize_chill_language): Name changed from
_initialize_chill_exp.
**** end-sanitize-chill ****
* config/amix.mh (NAT_FILE): Add, set to nm-sysv4.h.
* config/amix.mh (NATDEPFILES): Add.
* config/amix.mh (XDEPFILES): Move procfs.o and fork-child.o
to NATDEPFILES.
* dwarfread.c (decode_subscr_data): Remove spurious test that
accepted only integer subscript types. We don't do anything
with the type at the moment anyway.
* ch-exp.y (chill_create_fundamental_type): Chill uses fixed
width types. For example, "INT" is always 2 bytes regardless
of the values of any TARGET_*_BIT macros. So use explicit
numeric sizes for the types.
language specific fundamental types for C.
* m2-exp.y (m2_create_fundamental_type): New function to create
language specific fundamental types for Modula 2.
* c-exp.y (c_language_defn, cplus_language_defn): Add
c_create_fundamental_type to language struct initializers.
* m2-exp.y (m2_language_defn): Add m2_create_fundamental_type
to language struct initializers.
* dwarfread.c (expression.h, language.h): Include.
* dwarfread.c (ftypes): New array to hold fundamental types
for current compilation unit.
* dwarfread.c (cu_language_defn): New pointer to language
struct for language of current compilation unit.
* dwarfread.c (dwarf_fundamental_type): New function to
create/lookup fundamental types.
* dwarfread.c (set_cu_language): Initialize cu_language_defn.
* dwarfread.c (throughout): Replace lookup_fundamental_type
with dwarf_fundamental_type.
* dwarfread.c (read_file_scope): Zero out ftypes for each new
compilation unit (may be different language or different objfile).
* gdbtypes.c (lookup_fundamental_type): Move actual type
creations into language specific fundamental type creation
functions and call via create_fundamental_type. Add comment
about this function being obsolescent.
* gdbtypes.h (FT_BYTE, FT_UNSIGNED_BYTE): New types, true byte
sized signed and unsigned integers.
* gdbtypes.h (FT_NUM_MEMBERS): Increment, new types added.
* language.c (language_def): New function to lookup a language
struct given it's enumeration.
* language.h (struct language_defn): Add la_fund_type, a pointer
to a function that creates fundamental types for this language.
* language.h (create_fundamental_type): New macro to create
fundamental types based on the current language.
* language.h (language_def): Add prototype.
* language.c (unk_lang_create_fundamental_type): New function
for initializing language structs, calls error if called.
* language.c (unk_language_defn, auto_language_defn,
local_language_defn): Use unk_lang_create_fundamental_type.
**** start-sanitize-chill ****
ch-exp.y (chill_create_fundamental_type): New function.
ch-exp.y (chill_language_defn): Add chill_create_fundamental_type.
ch-exp.y (_initialize_chill_exp): BOOL types are only one byte.
**** end-sanitize-chill ****
rather than '$'. This particular piece of braindamage is
spreading like ooze. It's now infected libiberty, deja-gnu,
gdb, and gcc.
* values.c (baseclass_addr): Use CPLUS_MARKER rather than
hardwired '$' character.
read_struct_type function up into managable pieces.)
* stabsread.c (struct field_info): Local struct definition.
* stabsread.c (read_member_functions, read_struct_fields,
read_baseclasses, read_tilde_fields, attach_fn_fields_to_type,
attach_fields_to_type, read_cpp_abbrev): Prototypes and new
functions from fragmented read_struct_type.
* stabsread.c (stabs_general_complaint): Catchall complaint.
* stabsread.c (STABS_CONTINUE): Macro'ize cretinous stabs
symbol name continuation code. Use macro throughout.
* stabsread.c (various places): Replace add-one-to-pointer
with pointer increment.
* stabsread.c (read_type): Retain function local copy of type
descriptor. Rearrange code calling read_struct_type() to match
new conventions.
terminal tokens.
* ch-exp.y (access_name): New non-terminal token and
production.
* ch-exp.y (general_procedure_name): Now a terminal token.
* ch-exp.y (location): Expand production.
* ch-exp.y (match_simple_name_string): New function.
* ch-exp.y (yylex): Call match_simple_name_string and return
GENERAL_PROCEDURE_NAME or LOCATION_NAME as appropriate.
contants as a leading explicit length, followed by the string data,
followed by a trailing explicit length.
* eval.c (evaluate_subexp), expprint.c (print_subexp),
parse.c (length_of_subexp), parse.c (prefixify_subexp):
Use recorded explicit length of strings in expression elements,
rather than strlen. Adjust code to skip over strings stored in
expression elements, and code to access strings, to account for
new leading explicit size expression element.
* parse.c (length_of_subexp): Test for minimum endpos of 1, not
0, to avoid negative expression element indices.
* valops.c (search_struct_method): Minor whitespace change.
which together maintain a dynamically expandable static buffer
for the lexer to use when translating C strings to their internal
form (other future uses possible). Fix parsing of C style strings
to do the normal C style input conversions of escaped character
sequences.
* valops.c (value_string): Remove translation of escaped
character sequences, now done in C expression parser.
and decides if it should be printed in literal form or some other
form, based on it's ASCII value and setting of sevenbit_strings.
* {c-exp.y, m2-exp.y} (emit_char): Use new PRINT_LITERAL_FORM
macro, change indentation style.
**** start-sanitize-chill ****
* ch-exp.y (chill_printchar): Use new PRINT_LITERAL_FORM macro.
* ch-exp.y (chill_printstr): First cut at real function instead
of error stub.
**** end-sanitize-chill ****
* defs.h (printchar): Replace with gdb_printchar.
* language.h (language_defn): Add new function pointers
la_printchar and la_printstr, to do language dependent
printing of characters and strings.
* language.h (local_printchar, local_printstr): New macros
to call language dependent functions pointed to by la_printchar
and la_printstr respectively.
* c-exp.y (emit_char, c_printchar, c_printstr): New language
dependent functions for printing characters and strings.
* c-exp.y (c_language_defn, cplus_language_defn): Add
c_printchar and c_printstr.
* command.c (do_setshow_command): Rename printchar use to
gdb_printchar.
* expprint.c (print_subexp): Replace C style string output
with call to local_printstr.
* language.c (unk_lang_printchar, unk_lang_printstr):
New stubs, currently errors.
* language.c (unknown_language_defn, auto_language_defn,
local_language_defn): Add unk_lang_printchar and
unk_lang_printstr.
* m2-exp.y (emit_char, m2_printchar, m2_printstr): New
language dependent functions to print characters and strings.
* m2-exp.y (m2_language_defn): Add m2_printchar and m2_printstr.
* utils.c (printchar): Renamed to gdb_printchar.
* valprint.c (print_string): Remove prototype, function moved
to c-exp.y, where it becomes c_printstr.
* valprint.c (print_max): Made global for reference from the
language dependent printing routines in *-exp.y.
* valprint.c (repeat_count_threshold): New variable with function
of old REPEAT_COUNT_THREHOLD define, but now settable by user.
Change all references to old macro to references to new variable.
* valprint.c (value_print, val_print): Replace calls to
print_string with calls to local_printstr.
* valprint.c (val_print): Replace C style character printing
with call to local_printchar.
* valprint.c (val_print): Add case for TYPE_CODE_CHAR.
* valprint.c (_initialize_valprint): Add add_show_from_set
call for setting up repeat_count_threshold as print variable.
**** start-sanitize-chill ****
* ch-exp.y (decode_integer_value): New function.
* ch-exp.y (decode_integer_literal): Use decode_integer_value.
* ch-exp.y (chill_printchar, chill_printstr): New language
dependent functions for printing characters and strings.
* ch-exp.y (chill_language_defn): Add chill_printchar and
chill_printstr.
**** end-sanitize-chill ****
char of env value if an '=' appears in it. Bug report and fix
by Mark Jungerman, <maj@lucid.com>.
Thu Nov 5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu)
* xcoffexec.c (vmap_symtab): fixed a bug where if a object has no
member, and the stat pointer passed to vmap_symtab was NULL, the
wrong vmap entries would be modified. Fixes behavior where
attempting to load symbols for a module with no member would mess
up already read in symbols.
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