Jim Kingdon [Mon, 29 Apr 1991 05:27:04 +0000 (05:27 +0000)]
* param-no-tm.h: Make BITS_BIG_ENDIAN defined to 0/1, not defined
or not defined. Don't define it based on TARGET_BYTE_ORDER if
it's already defined (in the tm.h file).
mips-opcode.h (BIT_FIELDS_*),
values.c (modify_field, unpack_field_as_long):
Use #if BITS_BIG_ENDIAN not #ifdef BITS_BIG_ENDIAN.
Jim Kingdon [Fri, 26 Apr 1991 23:04:10 +0000 (23:04 +0000)]
* values.c (check_stub_method): Do lookup_method_type and stuff
rather than smash_to_method_type.
* values.c (check_stub_method): Deal with operator names.
* values.c: Move declaration of cplus_demangle to top of file.
* values.c (baseclass_addr): If can't read memory, set *ERRP
rather than calling error().
* values.c (value_static_field): Recursively check all baseclasses.
Return NULL if not found.
* values.c, value.h: New functions value_{headof,from_vtable_info}.
values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.CVS: Modified Files:
Jim Kingdon [Fri, 26 Apr 1991 23:02:38 +0000 (23:02 +0000)]
* valprint.c (val_print): Print out first element of vtbl
specially.
* valprint.c: Move print controls to top and add objectprint.
Add command "set print object on/off".
* valprint.c (value_print, is_vtbl_member): Put things in local
variables rather than continually doing VALUE_TYPE (val), etc.
Jim Kingdon [Fri, 26 Apr 1991 23:01:36 +0000 (23:01 +0000)]
* symtab.c, symtab.h: Have a builtin_type_{,unsigned_}long_long
regardless of LONG_LONG.
symtab.c, symtab.h (allocate_stub_method): New function.
* symtab.c (decode_line_1): Deal with operators specified as
"operator" <optional whitespace> <symbols for operator>.
(operator_chars): Help do it.
* symtab.c (lookup_struct_elt_type): Call check_stub_type.
Take additional argument noerr.
Don't dump core if TYPE_FIELD_NAME is NULL.
Check the baseclasses recursively.
Jim Kingdon [Fri, 26 Apr 1991 23:00:55 +0000 (23:00 +0000)]
* symfile.c (fill_in_vptr_fieldno): Don't call check_stub_type.
Return void not int. (also declarations in symfile.h and value.h).
Deal with multiple inheritance.
Jim Kingdon [Fri, 26 Apr 1991 22:59:54 +0000 (22:59 +0000)]
* eval.c (evaluate_subexp, case UNOP_LOGNOT): If following opcode
is OP_SCOPE, give an error.
* eval.c (evaluate_subexp): Pass third arg to lookup_struct_elt_type.
* eval.c (evaluate_subexp), values.c (value_virtual_fn_field):
Don't bother to do anything with
return value from fill_in_vptr_fieldno.
* eval.c (evaluate_subexp): If value_static_field returns NULL,
give an error.
Jim Kingdon [Fri, 26 Apr 1991 22:59:00 +0000 (22:59 +0000)]
dbxread.c (read_type): If we get "##", don't lookup_function_type
and start clobbering it; allocate_stub_method instead.
* dbxread.c (read_struct_type): Put "op$" instead of "operator"
in the symbol table.
* dbxread.c (read_struct_type): Set fcontext to 0 for normal member
function.
* dbxread.c (read_struct_type): Initialize name to 0.
* dbxread.c (read_ofile_symtab, N_CATCH): Add offset to bufp->n_value.
* dbxread.c (dbx_create_type): Zero TYPE_VPTR_BASETYPE.
(read_struct_type): Don't bother to set TYPE_VTPR_{BASETYPE,FIELDNO}
if it's just going to be {0,1}.
* dbxread.c (virtual_context): Use TYPE_BASECLASS starting at 0
(yes, it's #if 0, but just in case...).
Jim Kingdon [Fri, 26 Apr 1991 22:57:44 +0000 (22:57 +0000)]
* expread.y (abs_decl): Accept '&' and '&' abs_decl.
expread.y (typebase): Add {unsigned,} long long {,int}.
* expread.y (variable): Allow for destructor with foo::~name.
* vax-opcode.h, expread.y, expprint.c, cplus-dem.c: Declare some
things "const".
Jim Kingdon [Wed, 24 Apr 1991 02:23:40 +0000 (02:23 +0000)]
* symtab.c (lookup_symbol): Add 3 more of those loops through
the symtabs which we all know and love: (1) Look in the
STATIC_BLOCK for mangled symbols right after we check the blocks,
(2, 3) Look in the STATIC_BLOCK for all the symtabs and psymtabs
at the end.
Jim Kingdon [Wed, 24 Apr 1991 01:01:09 +0000 (01:01 +0000)]
values.c (value_virtual_fn_field): If there is no fcontext,
then do things the way GDB 3.x did.
valops.c (search_struct_method): Add type to value_virtual_fn_field
arguments.
Jim Kingdon [Wed, 24 Apr 1991 00:08:50 +0000 (00:08 +0000)]
* main.c (cd_command): Call dont_repeat.
* dbxread.c (read_struct_type): If const/volatile character is
missing, don't complain, just continue.
* dbxread.c (read_struct_type): Only try to read the fcontext if
it is there. Also change "error_type " to "return error_type ".
values.c (value_virtual_fn_field): If there is no fcontext,
then do things the way GDB 3.x did.
valops.c (search_struct_method): Add type to value_virtual_fn_field
arguments.
Jim Kingdon [Tue, 23 Apr 1991 00:05:24 +0000 (00:05 +0000)]
* Shared libaray/corefile changes from Peter Schauer:
core.c (core_close): Call CLEAR_SOLIB.
(core_open): Remove comment about "should deal with shared lib".
(core_xfer_memory): If we can't xfer the usual way, try the
shared libraries.
solib.c (so_list): New fields so_bfd and so_sections{,_end}.
(find_solib): Use solib_map_sections to get ld_text.
(solib_map_sections, solib_xfer_memory): New functions.
(clear_solib): Free so_sections and close so_bfd.
tm-sunos.h: Add solib_xfer_memory, solib_add.
Wed Apr 17 17:09:48 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* i386-tdep.c (i386_get_frame_setup): Use SWAP_TARGET_AND_HOST
before returning locals or slocals.
* i386-tdep.c (i386_follow_jump): Do not add data16 to pos in
call to codestream_seek; add one to pos if (and only if)
we are dealing with a jump with data16 == 1 (i.e. 0x66, 0xe9).
Mon Apr 15 12:04:32 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* valops.c (call_function_by_hand): Put dummy1 in target order
before FIX_CALL_DUMMY.
* tm-i386v.h (FIX_CALL_DUMMY): Don't depend on host byte order.
Sun Apr 14 11:55:19 1991 Jim Kingdon (kingdon at cygint.cygnus.com)
* valops.c (push_word): Add SWAP_TARGET_AND_HOST.
* remote.c (remote_open): Send '+' before calling putpkt().
* tm-i386v.h (REGISTER_VIRTUAL_TYPE): Return pointer to void,
not int, for pc, fp, and sp.
* remote.c (remote_open): Call start_remote after putpkt("?");
Roland Pesch [Sat, 20 Apr 1991 00:07:39 +0000 (00:07 +0000)]
Updated, amplified, and reorganized linker manual. Option-flag
description believed complete as of today; still holes---small
ones---in "commands" section. BFD section also needs better table of
supported archs and formats; see FIXMEs for scattered q's and
desiderata.
Jim Kingdon [Fri, 19 Apr 1991 17:28:32 +0000 (17:28 +0000)]
* Makefile.dist (cplus-dem.o): Hack in an #include "param.h"
before we compile it.
defs.h: Protect against multiple inclusion.
param.h: Include defs.h.
John Gilmore [Fri, 19 Apr 1991 01:55:07 +0000 (01:55 +0000)]
* symtab.h (GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): New
defines for the blocks of a blockvector that contain global and
file-static symbols and the first of the smaller scope contours.
* symtab.c (lookup_symbol, find_pc_symtab, find_pc_line,
decode_line_1, make_symbol_completion_list): Use the above.
* symtab.c (list_symbols): Process the first symbol of the
static psymbols list.
(types_info): Restore this function from its untimely #if 0.
It's not perfect, but it is better than nothing.
(_initialize_symtab): Restore "info types".
Jim Kingdon [Fri, 19 Apr 1991 01:36:57 +0000 (01:36 +0000)]
* target.h: Add to_doc and target_preopen.
target.c: Add target_preopen and target_command.
Remove target_info.
(add_target): Call add_cmd and mess with targetlist->doc.
core.c, exec.c, remote-eb.c, remote-nindy.c, remote-vx.c,
remote-vx.68.c, inftarg.c, remote.c: Add doc field to target struct.
Call target_preopen from open routine.