John Gilmore [Thu, 2 May 1991 04:11:40 +0000 (04:11 +0000)]
Merge devo/bfd with GDB's bfd.
Remove obstack.h to ../include and obstack.c to ../libiberty.
Move COFF symbol swapping code to coffswap.c where GDB can call it but it
won't be duplicated if we have N different COFF targets.
Add support for traditional Unix core files (with a upage). This support
is from an Ultrix port, but is probably slightly broken now.
Improve bfd_release's of obstack'd items on error returns.
gcc -Wall fixes.
Handle section alignment slightly better in coff, and comment where it
needs more work (on page-aligning virtual vs file addresses for DPAGED).
Use set_tdata everywhere that tdata is set, to avoid "cast to the left
of assignment" problems with some compilers.
Move bfd_alloc, bfd_zalloc, bfd_realloc, and bfd_release into libbfd.h
(from bfd.h) since they are internal routines.
Remove the redundant suffix "_struct" from struct tags.
Set symbol count early in file reading, before slurping in the syms,
for GDB's use.
John Gilmore [Thu, 2 May 1991 03:39:15 +0000 (03:39 +0000)]
Merge devo/bfd with GDB's bfd.
Get getopt and obstack from -liberty rather than compiling them here.
* coffread.c: turn a printf into a complain(), and try to deal more
gracefully with botched-looking lineno pointers.
* dbxread.c: Use bfd_get_symcount rather than bfd_get_symcount_upper_bound.
Don't coredump on files with zero symbols in them (a BFD bug showed this one).
* environ.c: Pass GNUTARGET into the parent (gdb) as well as the child.
John Gilmore [Thu, 2 May 1991 02:52:21 +0000 (02:52 +0000)]
Update for merge of main BFD and GDB's BFD. Remove "_struct" suffix
on all struct types -- they are in a separate namespace anyway.
Move bfd_alloc, bfd_zalloc, bfd_realloc, bfd_release into libbfd.h,
since external users shouldn't be calling them anyway.
Michael Tiemann [Tue, 30 Apr 1991 20:19:02 +0000 (20:19 +0000)]
Tue Apr 30 13:13:33 1991 Michael Tiemann (tiemann at cygint.cygnus.com)
* valprint.c (type_print_base): If the type being printed is a
struct containing undefined types, print "<undefine type>"
as the type instead of crashing.
* values.c (value_headof): Get the vtable pointer taking
TYPE_VPTR_BASETYPE into account.
* symtab.c, symtab.h, dbxread.c: Fix various whitespace splotches.
Jim Kingdon [Mon, 29 Apr 1991 20:54:42 +0000 (20:54 +0000)]
* infrun.c: Don't include sys/user.h and friends (wrong for
cross-debugging and not necessary anymore (see IN_SIGTRAMP in
xm-vax.h)).
[SET_STACK_LIMIT_HUGE]: Include <sys/{resource,time}.h>.
xm-tahoe.h: Don't define _DIRENT_.
* xm-tahoe.h: Remove USE_OLD_TTY (not needed now that terminal.h
includes sgtty.h before sys/ioctl.h).
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.