Brendan Kehoe [Thu, 11 Jan 1996 00:16:56 +0000 (00:16 +0000)]
Wed Jan 10 16:08:49 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* configure.in, configure: Recognize rs6000-*-aix4*.
* config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h".
* config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h.
* config/rs6000/xm-aix4.h: New file.
* config/xm-aix4.h: New file.
From the Mentor work...enable configure & build on rs6000-ibm-aix4.1.*.
Note this is an unbelievably buggy debugger on this host.
Fred Fish [Wed, 10 Jan 1996 18:40:24 +0000 (18:40 +0000)]
From Wilfried Moser <wilfried.moser@aut.alcatel.at>:
* gdbserver/low-linux.c: New file.
* remote.c (remote_read_bytes): Fix aborts on larger packets.
* config/i386/linux.mh (GDBSERVER_DEPFILES, GDBSERVER_LIBS):
Define.
* stabsread.c (define_symbol): If register value is too large,
tell what it is and what max is.
Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
* coff-alpha.c (alpha_relocate_section): During final link, allow
output .lita section to be bigger than 64k by adjusting gp value
on a per-input section basis.
* libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
field.
(struct ecoff_section_tdata): Add gp field.
Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
Handle Alpha ECOFF changes in OSF/1 3.2.
* libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
field.
* coff-alpha.c: Include "aout/ar.h".
(alpha_ecoff_get_relocated_section_contents): Don't require an
ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
3.2 doesn't generate one.
(alpha_relocate_section): Likewise.
(alpha_ecoff_slurp_armap): Define.
(alpha_ecoff_slurp_extended_name_table): Define.
(alpha_ecoff_construct_extended_name_table): Define.
(alpha_ecoff_truncate_arname): Define.
(alpha_ecoff_write_armap): Define.
(alpha_ecoff_generic_stat_arch_elt): Define.
(alpha_ecoff_update_armap_timestamp): Define.
(ARFZMAG): Define.
(alpha_ecoff_read_ar_hdr): New static function.
(alpha_ecoff_get_elt_at_filepos): New static function.
(alpha_ecoff_openr_next_archived_file): New static function.
(alpha_ecoff_get_elt_at_index): New static function.
(alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
(ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
_bfd_ecoff to alpha_ecoff.
* ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
field from backend structure, rather than always calling
_bfd_get_elt_at_filepos.
* coff-mips.c (mips_ecoff_backend_data): Initialize
get_elt_at_filepos field.
* archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
from _bfd_generic_read_ar_hdr with minor changes.
(_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
* libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
* libbfd.h: Rebuild.
* bfd-in.h (BFD_IN_MEMORY): Define.
* libbfd-in.h (struct bfd_in_memory): Define.
* libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
(bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
(bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
(bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
* bfd.c (struct _bfd): Change iostream field from char * to PTR.
(bfd_get_size): Handle BFD_IN_MEMORY flag.
* cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
(bfd_open_file): Cast to PTR, not char *, when setting iostream.
(bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
* opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
iostream.
(bfd_openstreamr): Likewise.
* aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
BFD_IN_MEMORY is not set.
* riscix.c (riscix_some_aout_object_p): Likewise.
* bfd-in2.h, libbfd.h: Rebuild.
* targets.c (bfd_target): Add _bfd_get_elt_at_index field.
(BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
(bfd_get_elt_at_index): Define.
* archive.c (_bfd_generic_get_elt_at_index): Rename from
bfd_get_elt_at_index. Change index parameter from int to
symindex.
* libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
(_bfd_noarchive_get_elt_at_index): Define.
(_bfd_archive_bsd_get_elt_at_index): Define.
(_bfd_archive_coff_get_elt_at_index): Define.
* bfd-in2.h, libbfd.h: Rebuild.
* aout-target.h (MY_get_elt_at_index): Define if not defined.
* coff-rs6000.c (xcoff_get_elt_at_index): Define.
* ieee.c (ieee_get_elt_at_index): Define.
* libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
* oasys.c (oasys_get_elt_at_index): Define.
* som.c (som_get_elt_at_index): Define.
Stan Shebs [Tue, 9 Jan 1996 00:37:35 +0000 (00:37 +0000)]
* remote-mips.c (mips_receive_header): Recognize \012 instead
of \n, but write \n when program sends a \012.
* ser-mac.c (mac_input_buffer): Increase size of buffer.
* ieee.c: Add global function write_ieee_debugging_info and a
bunch of static functions and structs used to write out IEEE
debugging information.
* budbg.h (write_ieee_debugging_info): Declare.
* ieee.c (struct ieee_type): Add pslot field.
(enum builtin_types): Define.
(ieee_builtin_type): For a pointer, return a pointer to the named
type. Use enum values rather than numbers.
(ieee_alloc_type): New static function.
(ieee_read_type_index): Use ieee_alloc_type.
(parse_ieee_bb): Likewise.
(parse_ieee_ty): Likewise. Use ieee_builtin_type for array range,
rather than making a new integer type. Store the new type in the
slot, if there is one.
(parse_ieee_atn): Treat ATN10 as defining a register variable.
(ieee_regno_to_genreg): Rename from ieee_regno_to_gen. Change all
callers.
(ieee_genreg_to_regno): New static function.
* debug.h (struct debug_write_fns): Add tag parameter to
enum_type, start_struct_type, and start_class_type.
* debug.c (debug_write_type): Pass any tag name to
start_struct_type, debug_write_class_type, and enum_type. If
DEBUG_KIND_TAGGED, pass the name in the recursive call.
(debug_write_class_type): Accept a new tag parameter, and pass it
to start_class_type.
* prdbg.c (pop_type): Don't remove '+' character.
(pr_enum_type): Accept and use tag parameter.
(pr_start_struct_type): Likewise.
(pr_start_class_type): Likewise.
(pr_class_baseclass): Adjust algorithm used to find where to put
the baseclass name.
(pr_tag): Don't bother to insert the tag name.
* objcopy.c: Include budbg.h.
(convert_debugging): New static variable.
(OPTION_DEBUGGING): Define.
(copy_options): Add "debugging".
(copy_usage): Mention --debugging.
(is_strip_section): Skip debugging sections if convert_debugging.
(setup_section, copy_section): Likewise.
(filter_symbols): Skip debugging symbols if convert_debugging.
(copy_object): If convert_debugging, read and write debugging
information.
(write_debugging_info): New static function.
(copy_main): Handle --debugging.
* Makefile.in (DEBUG_OBJS): New variable.
($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS).
($(STRIP_PROG)): Likewise.
(OBJDUMP_OBJS): Remove variable.
($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than
$(OBJDUMP_OBJS).
* binutils.texi, objcopy.1: Document --debugging.
* ieee.c (ieee_write_debug_part): Change return type to boolean.
If there is a SEC_DEBUGGING section, get the contents of the debug
information part from it.
(ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
section in memory.
(ieee_write_object_contents): Check ieee_write_debug_part return.
Jeff Law [Mon, 8 Jan 1996 17:55:25 +0000 (17:55 +0000)]
* buildsym.c (end_symtab): Remove sort_pending and sort_linevec
arguments. Sorting is now dependent on OBJF_REORDERED. All
callers/references changed.
* dbxread.c (read_ofile_symtab): Correctly determine value for
last_source_start_addr for reordered executables.
(process_one_symbol): Handle N_FUN with no name as an end of
function marker.
* partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE
is the high text address for a psymtab.
(case N_SO): Likewise.
(case N_FUN): Handle N_FUN with no name as an end of function
marker.
* minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols
at the same address rather than a random subset of them.
* coffread.c (coff_symfile_init): Set OBJF_REORDERED.
* elfread.c (elf_symfile_init): Similarly.
* somread.c (som_symfile_init): Similarly.
* xcoffread.c (xcoff_symfile_init): Similarly.
Support for debugging reordered executables. Remaining mentor vm
changes.
Stu Grossman [Sat, 6 Jan 1996 01:58:07 +0000 (01:58 +0000)]
* stack.c (print_stack_frame print_frame_info) symmisc.c
(dump_symtab): Change RETURN_MASK_ERROR to RETURN_MASK_ALL so
that catch_errors doesn't get blindsided by QUIT and lose the
cleanup chain. This fixes a problem where ^C while in a
user-defined command sometimes leaves instream NULL and causes a
segfault in command_loop.
Stu Grossman [Fri, 5 Jan 1996 00:42:36 +0000 (00:42 +0000)]
* breakpoint.c (remove_breakpoint): Change error to warning so
that hardware watchpoint removal problems won't leave breakpoint
traps in the target.
* configure configure.in: Make --enable-gdbtk be the default.
* remote-e7000.c (e7000_insert_breakpoint,
e7000_remove_breakpoint): Use e7000 based breakpoints, not memory
breakpoints.
* (e7000_wait): Adjust PC back by two when we see a breakpoint to
compensate for e7000 maladjustment.
* sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug
which prevented hardware watchpoints from working.
* configure.host: Change existing Linux HOSTING_CRT0 to be used
for a.out only, and put in appropriate HOSTING_CRT0 and
HOSTING_LIBS values for Linux ELF.
Fred Fish [Thu, 4 Jan 1996 21:12:12 +0000 (21:12 +0000)]
* gdb.base/corefile.exp: When generating a core, discard any
error messages about ulimit not found and the "core dumped"
message from the shell that runs the coredumper.
Fred Fish [Thu, 4 Jan 1996 21:09:59 +0000 (21:09 +0000)]
Changes to hexdump "struct user" for child process on some configurations
that use ptrace(). This is not as useful as doing a full dump in a
human readable format, but is better than nothing when you are trying
to verify what is actually in the user struct.
* infptrace.c (udot_info): New function.
(PT_*): Define each individually if that one is not defined.
Update copyright to 1996.
* rs6000-nat.c (kernel_u_size): New function
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* alpha-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* sparc-nat.c (kernel_u_size): New function.
Include <sys/user.h> for "struct user"
Update copyright to 1996.
* i386b-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* i386v-nat.c (kernel_u_size): New function.
Update copyright to 1996.
* config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/i386/nm-linux.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
* config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define.
(kernel_u_size): Declare.
Update copyright to 1996.
Fred Fish [Thu, 4 Jan 1996 07:23:24 +0000 (07:23 +0000)]
* i386v4-nat.c (supply_gregset, fill_gregset): Subtract NUM_FREGS
from NUM_REGS to get number of general registers that we care about.
Update copyright to 1996.
* config/i386/tm-i386.h (REGISTER_BYTES): Define in terms
of number of general regs and number of floating point regs.
Update copyright to 1996.
* symtab.h (namespace enum): becomes typedef to avoid namespace
collision in C++.
* infcmd.c (path_command): Use empty string if PATH name not set.
* i386-tdep.c (skip_trampoline_code): New function.
* srec.c: Renamed dsrec.c to avoid filename collision.
* Makefile.in: Cope with renaming.
Update copyrights to 1996.
* coffcode.h (coff_write_object_contents): If we don't know the
section of the entry point for an XCOFF executable, always set the
entry address to -1.
Jeff Law [Wed, 3 Jan 1996 08:28:42 +0000 (08:28 +0000)]
* gdb.stabs/weird.exp: Use ${target_triplet} to determine
which sed script to run. Expect failure for v_comb test
on PA targets too.
Should get weird-stabs tests running on supported targets again.
I'd also expect most (if not all) stabs targets to fail v_comb...
* Makefile.in: Add targets to automatically rebuild dependencies.
Remove targets which just listed dependencies of .o files.
(DEP): New variable.
(HFILES, GENERATED_HFILES): New variables.
(CFILES, GENERATED_CFILES): New variables.
(underscore.c): Don't do anything, just depend upon stamp-under.
(stamp-under): New target; do what underscore.c used to do.
(nlmconv.o): Depend upon sym.h and ecoff.h.
(.dep, .dep1, dep.sed, dep, dep-in): New targets.
(stage1, stage2, stage3, against, comparison): Remove.
(de-stage1, de-stage2, de-stage3): Remove.
(clean, distclean): Remove stamp-under and dep.sed.
* dep-in.sed: New file.
* Makefile.in (OBJDUMP_OBJS): New variable.
($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
Stan Shebs [Tue, 2 Jan 1996 21:55:10 +0000 (21:55 +0000)]
* config/mips/nm-irix5.h: Restore.
(TARGET_HAS_HARDWARE_WATCHPOINTS, etc): Define as for Irix 4;
from Lee Iverson <leei@ai.sri.com>.
* config/mips/irix5.mh (NAT_FILE): Use nm-irix5.h.
* config/mips/irix[345].mh (MUNCH_DEFINE): Remove.
* elf32-ppc.c: Remove trailing newline from calls to
_bfd_error_handler.
(ppc_elf_merge_private_bfd_data): Only warn about endianness
difference if target endianness is known.
Jeff Law [Sun, 31 Dec 1995 06:41:24 +0000 (06:41 +0000)]
* ecoff.c (ecoff_stab): Simplify. Correctly handle sym + offset
addresses for static variables.
So we can access statics in the static block on mips/alpha when using
gas.
Jeff Law [Sun, 31 Dec 1995 06:36:30 +0000 (06:36 +0000)]
* gprof.c (long_options): Add "--function-ordering" and
"--file-ordering" options.
(usage): Add new options to usage message.
(main): Handle new options.
* gprof.h (STYLE_FUNCTION_ORDER): Define.
(STYLE_FILE_ORDER): Define.
(function_mapping_file): Declare.
* cg_arcs.c (arcs, numarcs): New globals.
(arc_add): Put new arcs into the arc array so the function/file
ordering code can examine them.
* cg_arcs.h (struct arc): New field "has_been_placed".
(arcs, numarcs): Declare new globals.
* core.c (symbol_map, symbol_map_count): New globals.
(read_function_mappings): New function to read in a function
to object map file.
(core_init): Call read_function_mappings if a function mapping
file exists.
(core_create_function_syms): Handle function to object file
mappings.
* symtab.h (struct sym): New fields "mapped", "has_been_placed",
"nuses", "prev".
* cg_print.c (cmp_arc_count): New function for sorting arcs.
(cmp_fun_nuses): Likewise for functions.
(cg_print_function_ordering): New function to print a suggested
function ordering.
(cg_print_file_ordering): Likewise for ordering .o files.
(order_and_dump_functions_by_arcs): Helper function for function
and object file ordering code.
Gprof changes for mentor vm work.
Jeff Law [Sun, 31 Dec 1995 06:28:22 +0000 (06:28 +0000)]
Just so we have them checked in somewhere; they're sanitized away as we
really don't want to distribute them as part of gprof (not without major
work).
Fred Fish [Sun, 31 Dec 1995 00:03:54 +0000 (00:03 +0000)]
* tests2.exp: Setup_xfail "i*86-*-linux" and
"mips-sgi-irix*" for "real write 4" and "real write 8".
Conditionalize both tests for system specific value
of "infinity" string.
Fred Fish [Sat, 30 Dec 1995 22:31:31 +0000 (22:31 +0000)]
* builtins.exp (test_size): Alpha seems to have long builtins.
* tests1.exp: Setup xfail "*-*-*" for "ptype r2".
* tests2.exp: Add check to skip chill tests.
Fred Fish [Sat, 30 Dec 1995 22:27:24 +0000 (22:27 +0000)]
* lib/gdb.exp (default_gdb_start): Fix typo.
* gdb.base/corefile.exp: Allow "Core was generated by ..."
messages to not include the full program name that caused
the core dump since some systems (such as solaris) apparently
truncate this path to about 80 characters.
When generating a core file first try increasing the core file
size limit to unlimited since some systems may default it to
zero, and it is harmless to try it. Move the test for failing
to generate a core file to where it will actually get executed.
* gdb.c++/templates.exp (test_ptype_of_templates): Accept
new gdb result from g++ debug info improvements and make old
pattern obsolescent. Also account for size_t differences
(may be int or long).
* gdb.base/a1-selftest.exp (test_with_self): Check for case where
initialization before function call is placed in the delay slot
and thus appears to be skipped over by commands such as "next".
Jeff Law [Sat, 30 Dec 1995 17:02:06 +0000 (17:02 +0000)]
* nm.c ( long_options): Add "--defined-only" option.
(usage): Update for new "--defined-only" option.
(filter_symbols): Handle "--defined-only".
Part of mentor vm work.
Jeff Law [Mon, 25 Dec 1995 04:32:29 +0000 (04:32 +0000)]
* core.c (core_sym_class): Ignore symbols without BSF_FUNCTION
set if ignore_non_function is set.
* gprof.h (ignore_non_functions): Declare.
* gprof.c (ignore_non_functions): Define.
(long_options): Add "ignore-non-functions".
(usage): Add new options.
(main): Recognize "-D" and "--ignore-non-functions" option.
So we can get more accurate information on Solaris, HPUX and other
systems that can uniquely identify function symbols.