Ian Lance Taylor [Mon, 15 Jan 1996 20:47:32 +0000 (20:47 +0000)]
* coffgen.c (coff_find_nearest_line): Don't try to cache
information in sections that are not owned by a BFD. From Richard
Henderson <[email protected]>.
Ian Lance Taylor [Mon, 15 Jan 1996 20:25:53 +0000 (20:25 +0000)]
* elf32-mips.c: Numerous changes to dynamic linking code, mostly
from Kazumoto Kojima <[email protected]>.
* elflink.h (elf_link_output_extsym): Remove special check for
_rld_new_interface.
Ian Lance Taylor [Mon, 15 Jan 1996 20:13:04 +0000 (20:13 +0000)]
Add some Irix 5 support, mostly from Kazumoto Kojima
<[email protected]>:
* emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
(SHLIB_TEXT_START_ADDR): Define.
(OTHER_GOT_SYMBOLS): Define.
(OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
(EXECUTABLE_SYMBOLS): Don't define.
(DYNAMIC_LINK): Don't define.
* emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
* scripttempl/elfmips.sc: New file.
* configure.host (mips*-dec-bsd*): Change mips to mips*.
(mips*-sgi-irix4*): Likewise.
(mips*-sgi-irix5*): New entry.
* Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
elf.sc.
(eelf32lmip.c): Likewise.
Ian Lance Taylor [Fri, 12 Jan 1996 21:11:43 +0000 (21:11 +0000)]
* subsegs.c (section_symbol): Don't try to look up the section
symbol in the hash table. It should be possible to have a symbol
with the same name as a section, but no connection to it.
Ian Lance Taylor [Fri, 12 Jan 1996 20:01:17 +0000 (20:01 +0000)]
* ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
ANSI_PROTOTYPES is defined. Remove special handling of
WINDOWS_NT. Various indendation fixes.
(vfinfo): Change fmt parameter to const char *.
(info_msg): Write <stdarg.h> version.
(einfo, minfo, finfo): Likewise.
(info_assert): Change file parameter to const char *.
* ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
defined, use a real prototype.
(info_assert): Change first parameter to be const char *.
* alpha-opc.h (alpha_insn_set): VAX floating point opcode was
incorrectly defined as 0x16 when it should be 0x15.
(FLOAT_FORMAT_MASK): function code is 11 bits, not just 7 bits!
(alpha_insn_set): added cvtst and cvttq float ops. Also added
excb (exception barrier) which is defined in the Alpha
Architecture Handbook version 2.
* alpha-dis.c (print_insn_alpha): Fixed special-case decoding for
OPERATE_FORMAT_CODE type instructions. The bug caused mulq to be
disassembled as or, for example.
Ian Lance Taylor [Fri, 12 Jan 1996 19:13:49 +0000 (19:13 +0000)]
* elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
dynamic section, if there is one.
* elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
(bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
(bfd_elf64_swap_dyn_in): Likewise.
* elfcode.h (elf_swap_dyn_in): Change type of second parameter to
PTR.
(NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
Fred Fish [Fri, 12 Jan 1996 16:01:29 +0000 (16:01 +0000)]
* lynx-nat.c, irix4-nat.c, sparc-nat.c: Include gdbcore.h
to get "struct core_fns" defined.
* Makefile.in (lynx-nat.o, irix4-nat.o, sparc-nat.o):
Are dependant upon gdbcore_h.
Ian Lance Taylor [Fri, 12 Jan 1996 04:29:59 +0000 (04:29 +0000)]
* xcofflink.c (xcoff_link_add_symbols): Create the special
sections if we see a DYNAMIC object, in case that is the only
XCOFF input object we see.
PR 8788.
Per Bothner [Fri, 12 Jan 1996 01:31:37 +0000 (01:31 +0000)]
* stabsread.c (define-symbol): Use invisible references
for TYPE_CODE_SET and TYPE_CODE_BITSTRING too.
* eval.c (evaluate_subexp_standard): When known, use the formal
parameter type as the expected type when evaluating arg expressions.
* ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT).
This (with a fix to gcc/config/sparc/sparc.h) fixes PR chill/8742.
Ian Lance Taylor [Thu, 11 Jan 1996 21:06:42 +0000 (21:06 +0000)]
* elf32-mips.c: Extensive changes for a start at dynamic linking
support, from Kazumoto Kojima <[email protected]>.
* elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
(struct elf_backend_data): Remove
elf_backend_create_program_headers field. Add
elf_backend_additional_program_headers and
elf_backend_modify_segment_map fields.
* elfxx-target.h (elf_backend_type_change_ok): Define if not
defined.
(elf_backend_additional_program_headers): Likewise.
(elf_backend_modify_segment_map): Likewise.
(elf_backend_create_program_headers): Don't define.
(elfNN_bed): Change to account for field changes.
* elf.c (assign_file_positions_for_segments): Call new
modify_segment_map backend function. Don't call old
create_program_headers backend function.
(get_program_header_size): Call additional_program_headers rather
than create_program_headers.
* elflink.h (elf_link_add_object_symbols): Initialize
type_change_ok from new backend field.
(elf_link_output_extsym): Don't warn if _rld_new_interface is
defined.
(elf_reloc_link_order): Treat a reloc against a defined symbol as
a reloc against the appropriate section.
Ian Lance Taylor [Thu, 11 Jan 1996 16:47:10 +0000 (16:47 +0000)]
* debug.c (debug_make_undefined_tagged_type): Make sure we are
given a kind of type we can handle.
(debug_write_type): Handle undefined enums and structs.
(debug_write_class_type): Handle undefined classes.
* prdbg.c (pr_enum_type): Handle an undefined enum.
Also comment changes to debug.h.
* 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 <[email protected]>:
* 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.
* 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.
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.