language for current compilation unit being processed.
* dwarfread.c (set_cu_language): New local function to decode
and record language for current compilation unit being processed.
* dwarfread.c (synthesize_typedef): Add local function to
synthesize a typedef for C++ classes, structs, unions, and
enumerations.
* dwarfread.c (read_structure_scope): Synthesize typedefs
for C++ classes, structs and unions.
* dwarfread.c (read_enumeration): Synthesize typedefs for
C++ enumerations.
* dwarfread.c (read_file_scope): Call set_cu_language to
record language for current compilation unit. After symtab
is built, save this recorded language.
* dwarfread.c (process_dies, add_partial_symbol, struct_type,
scan_partial_symbols, new_symbol): Recognize TAG_class_type.
* dwarfread.c (add_partial_symbol): Synthesize partial symbol
typedefs for C++ classes, structs, unions, and enumerations.
* dwarfread.c (scan_compilation_units): Call set_cu_language
to record language for current compilation unit.
* dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here
for TAG_enumeration_types, rather than in add_partial_symbol.
* dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type
case with class, struct, and union type cases, now that they are
the same. Remove tests for non-NULL name attributes, now done
by callers.
* gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but
treat as alias for TYPE_CODE_STRUCT for now.
types.
* stabsread.c (read_array_type, read_range_type, define_symbol):
Call alloc_type to alloc new types.
* stabsread.c (define_symbol): Move dbl_valu symbol field data
from type_obstack to symbol_obstack.
* stabsread.c (define_symbol): Move typedef_sym from type_obstack
to symbol_obstack.
* gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data
associated with a type, using the same mechanism as was used to
allocate space for the type structure itself.
* coffread.c (patch_type, coff_read_struct_type,
coff_read_enum_type): Use TYPE_ALLOC.
* dwarfread.c (struct_type): Use TYPE_ALLOC.
* gdbtypes.c (create_array_type, check_stub_method,
allocate_cplus_struct_type): Use TYPE_ALLOC.
* mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC.
* stabsread.c (read_struct_type, read_array_type, read_enum_type,
read_range_type): Use TYPE_ALLOC.
use throughout, in place of compile time constant CPLUS_MARKER.
* cplus-dem.c (ARM_VTABLE_STRING, ARM_VTABLE_STRLEN): Add.
* cplus-dem.c (cfront_special): New function, as suggested
by pfieland@stratus.com.
* cplus-dem.c (forget_types): New function.
* cplus-dem.c (cplus_demangle): Call gnu_special, moved from
demangle_prefix().
* cplus-dem.c (mop_up): Call forget_types().
* cplus-dem.c (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING):
Use throughout, instead of checking current_demangling_style.
* cplus-dem.c (demangle_signature): When finding an explicit
start of function args, forget all remembered types for
lucid/cfront style demangling.
* cplus-dem.c (demangle_prefix): In a sequence of two or more
underbar characters, use last pair as the delimiter. Hoist
gnu_special() call up to cplus_demangle(). Call cfront_special()
when appropriate.
* cplus-dem.c (cplus_special): Fix virtual table name demangling
for inherited classes.
* cplus-dem.c (demangle_args): Document quirks of numbered
references to previously seen types.
* dbxread.c (read_ofile_symtab, process_one_symbol):
Use AUTO_DEMANGLING rather than explicitly checking
current_demangling_style.
* demangle.h: Add some comments.
* demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING,
CFRONT_DEMANGLING): New macros.
* dwarfread.c (LCC_PRODUCER): Remove trailing space, which is
not found in the actual producer string produced by lcc.
* dwarfread.c (handle_producer): Use AUTO_DEMANGLING rather
than explicitly checking current_demangling_style.
NULL under non-error conditions.
* dwarfread.c (read_file_scope): Guard against dereferencing NULL
returned from end_symtab for empty compilation units.
* dwarfread.c (scan_partial_symbols): Skip over DIE's within
function scopes when building partial symbol tables.
* objfiles.c (open_existing_mapped_file): Make it clear in
warning message that out of date mapped files are ignored.
* symtab.c (lookup_symtab_1, lookup_symbol): Print compilation
unit source file name in error message.
* dwarfread.c (struct_type): In absence of AT_byte_size for
bitfield, use size of object of member's type for the size of
the anonymous object containing the bit field.
* dwarfread.c (completedieinfo): Set has_at_byte_size when
an AT_byte_size attribute is seen.
* mipsread.c (psymtab_to_symtab_1): Fix misspelled cast to
union aux_ext (was aux_ent).
* i386-pinsn.c (print_insn): Cast 2'nd arg to read_memory from
unsigned char* to char*, for Lucid compiler.
* i386-tdep.c (codestream_fill): Fix cast of 2'nd arg to read_memory
to be correct type (from unsigned char* to char*).
* valprint.c (type_print_derivation_info): Minor tweak to placement
of commas in derived class printing.
* xcoffread.c (builtin_type): Fix misspelling in fatal message.
at_import, at_frame_base.
* dwarfread.c (completedieinfo): Remove cases for obsolete
AT_visibility, AT_import, and AT_frame_base attributes.
* breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for
i860, which can keep up to 4 shadow breakpoints.
* tm-stratus.h (USG): Define.
* tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h.
* xm-stratus.h (NO_JOB_CONTROL): Remove define.
* config/stratus.mt (TDEPFILES): Include files available from
stratus that are not yet in release pending receipt of paperwork
at FSF.
* buildsym.c (finish_block): Minor code format change.
* gdbtypes.h (struct field): Add to comments.
* gdbtypes.h (virtual_field_bits): Add to comments.
* objfiles.c (allocate_objfile): Change obstack interface to
match FSF merging efforts.
to start_symtab as the directory name.
* dwarfread.c (completedieinfo): Strip off any leading hostname
portion of the AT_comp_dir attribute string. Gdb doesn't know
what to do with them (FIXME).
automatically select demangling style.
* demangle.c (DEFAULT_DEMANGLING_STYLE): Rename from simply
DEMANGLING_STYLE, to make more descriptive. Revert back to
"auto" as default. Comment use.
* Makefile.in (DEMANGLING_STYLE, DEMANGLE_OPTS): Remove.
* Makefile.in (${DEMANGLER}.o) Remove target and special
compilation rule.
demangling style for C++. Defaults to "auto".
* Makefile.in (DEMANGLE_OPTS): Use DEMANGLING_STYLE.
* Makefile.in (SFILES_MAINDIR): Add demangle.c
* Makefile.in (OBS): Add demangle.o
* cplus-dem.c (GNU_DEMANGLING, ARM_DEMANGLING, LUCID_DEMANGLING):
Remove compile time decisions about demangling style and replace
with runtime decisions using current_demangling_style.
* cplus-dem.c (main): Expand code included during building of
standalone demangler to recognize demangling style options.
* dbxread.c (demangle.h): Include.
* dbxread.c (read_ofile_symtab, process_one_symbol): Set GNU C++
demangling style if processing g++ code and current demangling style
is auto (Note: this feature currently disabled.)
* demangle.c: New file, generic demangling control.
* demangle.h (demangling_styles): New enumeration to select one
of several demangling styles. Also define string names for each
style.
* demangle.h (set_demangling_style): Add prototype.
* dwarfread.c (demangle.h): Include.
* dwarfread.c (GPLUS_PRODUCER, LCC_PRODUCER, CFRONT_PRODUCER):
New producer string prefixes to recognize.
* dwarfread.c (handle_producer): Consolidate actions for specific
producers. Set demangling style based on producer string if
current style is auto. (Note: this feature currently disabled.)
* config/ncr3000.mt (DEMANGLE_OPTS): Remove.
to create new blank types, instead of handcrafting them.
* defs.h (printfi_filtered): Add prototype.
* utils.c (printfi_filtered): New function.
* gdbtypes.c (recursive_dump_type): Use printfi_filtered to
to simplify the code. Other cleanups.
* gdbtypes.c (check_stub_method): Demangle using DMGL_ANSI.
* gdbtypes.h (struct cplus_struct_type): Add comments describing
use of various fields.
* gdbtypes.c (print_bit_vector, print_cplus_stuff): New functions.
* c-exp.y (%token): Add CLASS as a token for C++, add grammar
production that currently treats it exactly the same as STRUCT.
* c-exp.y (yylex): Recognize "class" as token CLASS.
* symtab.c (gdb_mangle_name): Rewrite to match current g++ stabs.
* symtab.c (decode_line_1): Fix to pass quoted args on down to
general symbol handling code. Call cplus_mangle_opname with
DMGL_ANSI.
* symtab.c (decode_line_2): Print demangled function names in
breakpoint menus, instead of just file and line number.
* symtab.c (name_match): Call cplus_demangle with DMGL_ANSI.
* valprint.c (type_print_base): Print "class" for C++ classes,
rather than "struct". Print section labels for public, protected
and private members of C++ classes.
* values.c: Include demangle.h.
* values.c (value_headof): Call cplus_demangle with DMGL_ANSI.
* gdbtypes.c (init_type): Use copy of typename on type_obstack.
* dwarfread.c (enum_type): Save enum names on type_obstack.
* dwarfread.c (struct_type): Save member name on type_obstack.
* symtab.c (_initialize_symtab): Fix misspelling.
* regex.c (store_jump, insert_jump): Return void.
* dwarfread.c (enum_type): Fix misspelling in comment.
* valprint.c (val_print_fields, cplus_val_print): Minor
adjustment to printing of C++ class structures to more closely
match format for printing C structures, with and without setting
pretty print.
Change 'modifier' to char from unsigned char. Cast single use
that needs to be unsigned char.
* symtab.h (SYMBOL_BASEREG_VALID): Explain disabling.
* utils.c (strdup_demangled): Add function.
* defs.h (strdup_demangled): Add prototype.
* stack.c (return_command): Demangle C++ function names for query.
* infcmd.c (jump_command): Demangle C++ function names for query.
* cplus-dem.c (consume_count): New function and prototype.
* cplus-dem.c (demangle_class, gnu_special, demangle_func_type,
do_type): Replace conversion code with consume_count().
* cplus-dem.c (gnu_special): Fix demangled of static members.
* source.c (list_command): Print demangled function names
when appropriate. Fix supplied by Peter Schauer.
disconnecting from controlling terminal, to avoid gdb hanging
on SVR4. Fixes bug reported by Oliver Okrongli.
* procfs.c (PROC_NAME_FMT): Change format to match default used
by system, as suggested by Oliver Okrongli.
* tm-68k.h (FRAME_FIND_SAVED_REGS): Apply missing parentheses
bug fix from Brent Townshend (bst%tt@cam.ORG).
* c-exp.y (nonempty_typelist): Fix memory overrun bug reported
by turlais@rechser.total.fr.
* dwarfread.c (decode_subscr_data): Fix bug in calculation of
length of non-zero lowerbound arrays. Bug fix from Peggy Fieland.
* objfiles.h (unlink_objfile): Add prototype.
* objfiles.c (unlink_objfile): Add function.
* objfiles.c (free_objfile): Call unlink_objfile.
* objfiles.c (allocate_objfile): Call unlink_objfile on newly
remapped objfiles. Bug reported by hahn@sunshine.labs.tek.com.
Also, discard old possibly bogus sf struct.
* symfile.c (symbol_file_add): Call init_entry_point_info() and
find_sym_fns() for remapped symbol files, in case of any changes
since the last mapping.
* Makefile.in (DEMANGLE_OPTS): Add, default to -Dnounderscore.
* configure.in: Simplify ncr3000 gdb_host logic, add gdb_target.
* dwarfread.c (struct_type): Apply fix from Peggy Fieland for
proper handling of bit fields.
* gdbtypes.h (struct type): Clarify use of field.bitpos.
* symtab.h: Fix couple of misspellings in comments.
* value.h (struct value): Clarify use of bitpos.
* value.h (unpack_field_as_long): Change prototype, returns
LONGEST.
* values.c (unpack_field_as_long): Change return type to LONGEST,
sign extend unpacked fields that are signed, other rewriting.
* config/ncr3000.mt: New target config file.
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.
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.
* 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.)