Jeff Law [Wed, 31 Jan 1996 21:44:24 +0000 (21:44 +0000)]
* gdb.base/break.exp: Don't test for program exit or exit status
if $noresults if nonzero.
* gdb.base/langs.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
For proelf targets were we can't even tell if a process exits.
Jeff Law [Wed, 31 Jan 1996 21:24:38 +0000 (21:24 +0000)]
* gdb.base/default.exp: Remove extraneous call to load gdb.exp.
* gdb.chill/pr-8405.exp: Move skip_chill_tests check to just before
trying to compile the testcase.
Ian Lance Taylor [Wed, 31 Jan 1996 21:22:02 +0000 (21:22 +0000)]
* elflink.h (elf_bfd_final_link): Don't output initial dummy
symbol or section symbols if stripping all symbols and this is not
a relocateable link. Don't output the symbol string table if
there are no symbols.
(elf_link_flush_output_syms): Don't do anything if there are no
symbols to flush.
Fred Fish [Wed, 31 Jan 1996 20:35:51 +0000 (20:35 +0000)]
* config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
Define to what should be reasonable values. However, apparently
a bug in linux mmap prevents mapped symbol tables from working.
* configure.in (m68*-apple-aux*): New target.
* config/te-aux.h: New file.
* config/obj-coff.c (compare_external_relocs): New static function
if TE_AUX.
(do_relocs_for): Sort relocs if TE_AUX.
(fixup_segment): If TE_AUX, store common symbol value in segment.
* config/tc-m68k.h (TARGET_FORMAT): Define if TE_AUX.
Ian Lance Taylor [Wed, 31 Jan 1996 17:28:44 +0000 (17:28 +0000)]
* config/tc-mips.c (s_mips_globl): Set BSF_OBJECT if it is not
BSF_FUNCTION.
(s_cpload): Set BSF_OBJECT for _gp_disp symbol.
* read.c (s_lcomm): If S_SET_SIZE is defined, set the size of the
symbol.
* ecoff.c (add_procedure): Set the BSF_FUNCTION flag.
(ecoff_build_symbols): If S_SET_SIZE is defined, set the size of
an undefined symbol and the size of a function symbol.
* config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
for all common symbols.
Fred Fish [Wed, 31 Jan 1996 02:36:07 +0000 (02:36 +0000)]
* interp.c (LoadMemory): Enclose text following #endif in /* */.
* support.h: Remove superfluous "1" from #if.
* support.h (CHECKSIM): Remove stray 'a' at end of line.
Fred Fish [Wed, 31 Jan 1996 02:31:02 +0000 (02:31 +0000)]
* defs.h (errno.h>: Move #include closer to head of file to solve
obscure problem with systems that declare perror with const arg, in
both errno.h and stdio.h, and const is defined away by intervening
local include.
Fred Fish [Tue, 30 Jan 1996 22:47:23 +0000 (22:47 +0000)]
From Jon Reeves <[email protected]>:
* i386-stub.c (getpacket): Change fprintf stream from "gdb" to stderr.
(mem_fault_routine): Fix misplaced volatile type qualifier in decl.
Ian Lance Taylor [Tue, 30 Jan 1996 18:49:10 +0000 (18:49 +0000)]
* Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
$(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
(maintainer-clean): Warn about deleting special files.
(bfd-in2.h, libbfd.h, libcoff.h): New targets.
Ian Lance Taylor [Tue, 30 Jan 1996 00:01:44 +0000 (00:01 +0000)]
From Basim Kadhim <[email protected]>:
* ecoff.c (struct extsym_info): Define.
(_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
to ecoff_link_write_external.
(ecoff_link_write_external): Accept a struct extsym_info pointer.
Strip symbols when appropriate.
Ian Lance Taylor [Mon, 29 Jan 1996 22:39:21 +0000 (22:39 +0000)]
Based on patches from H J Lu <[email protected]>:
* objcopy.c (remove_leading_char): New static variable.
(OPTION_REMOVE_LEADING_CHAR): Define.
(copy_usage): Mention --remove-leading-char.
(filter_symbols): If remove_leading_char, and the first character
of a global symbol matches the symbol leading char of the BFD,
remove the first character.
(copy_object): Filter the symbols if remove_leading_char is set.
(copy_main): Handle --remove-leading-char.
* binutils.texi, objcopy.1: Document --remove-leading-char.
Ian Lance Taylor [Mon, 29 Jan 1996 22:04:32 +0000 (22:04 +0000)]
Based on patches from Ronald F. Guilmette <[email protected]>:
* syms.c (BSF_OBJECT): Define.
(bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
* bfd-in2.h: Rebuild.
* elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
STT_OBJECT symbol.
* elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
is set.
Ian Lance Taylor [Mon, 29 Jan 1996 20:01:29 +0000 (20:01 +0000)]
* elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
copying relocs into a shared object, treat a defined global symbol
as a local symbol.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mips.c (mips_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
Ian Lance Taylor [Mon, 29 Jan 1996 17:25:26 +0000 (17:25 +0000)]
* ecoff.c (localsym_t): Add addend field.
(add_ecoff_symbol): Add addend argument. Change all callers.
(coff_sym_value): Make static.
(coff_sym_addend): New static variable.
(ecoff_directive_def): Initialize coff_sym_addend.
(ecoff_directive_val): Accept symbol + constant.
(ecoff_directive_endef): Pass coff_sym_addend to add_ecoff_symbol.
(ecoff_build_symbols): Include the addend in the symbol value.
Wilfried Moser [Mon, 29 Jan 1996 08:17:22 +0000 (08:17 +0000)]
* ch-valprint.c (calculate_array_length): New function to determine
the length of an array type (see comment).
(chill_val_print (case TYPE_CODE_ARRAY)): If the length of an
array type is zero, call calculate_array_length.
* gdbtypes.c (get_discrete_bounds (case TYPE_CODE_ENUM)): They values
may not be sorted. Scan all entries and set the real lower and
Fred Fish [Sat, 27 Jan 1996 18:51:09 +0000 (18:51 +0000)]
* configure.in (AC_CHECK_HEADERS): Check for sys/procfs.h.
Also check for gregset_t and fpregset_t types.
* configure: Regenerate.
* core-regset.c (sys/procfs.h): Only include if HAVE_SYS_PROCFS_H
is defined.
(fetch_core_registers): Turn into stub unless both HAVE_GREGSET_T
and HAVE_FPREGSET_T are defined. These changes allow systems
like linux that are migrating to /proc support to use a single
configuration for both new and old versions.
* config/i386/linux.mt: Note that this is now for both a.out and
ELF systems.
* config/i386/linux.mh (NATDEPFILES): Add solib.o, core-regset.o,
i386v4-nat.o
* config/i386/tm-linux.h (tm-sysv4.h): Include.
* config/i386/xm-linux.h (solib.h): Include
(SVR4_SHARED_LIBS): Define.
* i386v4-nat.c: Only compile if HAVE_SYS_PROCFS_H is defined.
(supply_gregset, fill_gregset): Compile if HAVE_GREGSET_T defined.
(supply_fpregset, fill_fpregset): Compile if HAVE_FPREGSET_T defined.
David Edelsohn [Fri, 26 Jan 1996 04:37:04 +0000 (04:37 +0000)]
* config/tc-sparc.c (default_compatible): New static local.
(md_begin): Initialize it. Rewrite warn_on_bump handling.
(sparc_ip): If no architecture or -bump specified, don't mark as
mismatched those in default_compatible.
Ian Lance Taylor [Thu, 25 Jan 1996 22:51:06 +0000 (22:51 +0000)]
* libcoff-in.h (struct xcoff_tdata): Remove toc_section and
entry_section fields. Add sntoc and snentry fields.
* libcoff.h: Rebuild.
* coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
not toc_section and entry_section (the COFF file does not have any
sections at this point).
(coff_write_object_contents): Set o_snentry and o_sntoc from
snentry and sntoc rather than entry_section and toc_section.
* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
snentry, not toc_section and entry_section.
* xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
entry_section from hentry.
(xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
set snentyr.
(xcoff_link_input_bfd): Set sntoc, not toc_section.
(xcoff_write_global_symbol): Get toc_section from sntoc, rather
than using toc_section directly.
Ian Lance Taylor [Thu, 25 Jan 1996 17:25:25 +0000 (17:25 +0000)]
SCO ELF support from Robert Lipe <[email protected]>:
* configure.in (i386-*-sco*elf*): Use fmt elf, targ sco5.
* configure: Rebuild.
* config/sco5.mt: New file; set TDEFINES to -DSCO_ELF.
* config/tc-i386.c (sco_id): New function, if SCO_ELF.
* config/tc-i386.h (tc_init_after_args): Define if SCO_ELF.
(sco_id): Declare if SCO_ELF.
David Edelsohn [Thu, 25 Jan 1996 11:20:06 +0000 (11:20 +0000)]
* config/tc-sparc.c (initial_architecture,can_bump_v9_p): Deleted.
({max,warn_after}_architecture): New static locals.
(md_begin): Replace NUMOPCODES with sparc_num_opcodes.
If both architecture and -bump requested, set max_architecture to max.
(sparc_md_end): Simplify.
(sparc_ip): Replace references to can_bump_v9_p with max_architecture.
Rewrite code to bump architecture and check for conflicts.
(md_longopts): Recognize -xarch={v8plus,v8plusa} for compatibility
with Solaris assembler.
(md_parse_option): Likewise. Call sparc_opcode_lookup_arch.
(md_show_usage): Update.
Ian Lance Taylor [Thu, 25 Jan 1996 00:26:19 +0000 (00:26 +0000)]
* ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
(struct ieee_write_type): Add name field.
(struct ieee_type_class): Remove name field. Change all uses to
use new name field in type instead.
(struct ieee_name_type): Likewise.
(ieee_start_struct_type): Initialize name field of type.
(ieee_start_class_type): Don't initialize classdef entry of tag.
(ieee_class_method_var): Don't adjust voffset.
(ieee_end_class_type): Likewise.
(ieee_tag_type): Initialize new name field of type.
(ieee_typdef): Set name after copying in type information.
Fred Fish [Wed, 24 Jan 1996 21:30:37 +0000 (21:30 +0000)]
* NEWS: Make note of new record and replay feature for
remote debug sessions.
* serial.c (gdbcmd.h): Include.
(serial_logfile, serial_logfp, serial_reading, serial_writing):
Define here, for remote debug session logging.
(serial_log_command, serial_logchar, serial_write, serial_readchar):
New functions for remote debug session logging.
(serial_open): Open remote debug session log file when needed.
(serial_close): Close remote debug session log file when needed.
(_initialize_serial): Add set/show commands for name of remote
debug session log file.
* serial.h (serial_readchar): Declare
(SERIAL_READCHAR): Call serial_readchar().
(SERIAL_WRITE): Call serial_write().
(serial_close): Declare as extern.
(serial_logfile, serial_logfp): Declare.
* top.c (execute_command): Declare serial_logfp. Log user command
in remote debug session log if log file is open.
* remote-array.c (array_wait): #ifdef out echo to gdb_stdout.
(array_read_inferior_memory): Rewrite to fix memory overwrite bug.
* remote-array.c (SREC_SIZE): Remove, duplicates define in
monitor.h.
* remote-array.c (hexchars, hex2mem): Remove, unused.
* gdbserver/low-linux.c (store_inferior_registers): Remove
unnecessary extern declaration of registers[].
* gdbserver/Makefile.in (all): Add gdbreplay.
* gdbserver/gdbreplay.c: New file.
* gdbserver/README: Give example of recording a remote
debug session with gdb and then replaying it with gdbreplay.
Ian Lance Taylor [Wed, 24 Jan 1996 21:10:55 +0000 (21:10 +0000)]
* ieee.c (ieee_define_named_type): When creating a tag for an
anonymous struct, copy the name into memory.
(ieee_tag_type): Likewise.
* debug.c (debug_write_type): Only check and set id field for an
unnamed object.
(debug_write_class_type): Likewise.
Brendan Kehoe [Wed, 24 Jan 1996 20:48:09 +0000 (20:48 +0000)]
* test-build.mk: Add checking of `hpux9' rather than just `hpux'.
Add creation of gconfigargs with `--enable-shared' turned on.
($(host)-stamp-stage2-configured): Pass $(gconfigargs).
($(host)-stamp-stage3-configured): Likewise.
(HOLES): Add chatr and ldd.
(i386-ncr-sysv4.3*): Add use of /usr/ccs/bin in the PATH and HOLE_DIRS.
David Edelsohn [Wed, 24 Jan 1996 18:45:50 +0000 (18:45 +0000)]
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
of flags, only flags used are controlled by mach number. Bump up
output file mach number to highest of input file mach numbers.
(elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
(elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
Also, delete v8plus sanitization.
Ian Lance Taylor [Wed, 24 Jan 1996 17:08:25 +0000 (17:08 +0000)]
* ieee.c (struct ieee_var): Remove variable field. Add kind
field, and define some enum constants for it.
(parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
(parse_ieee_atn): Make an indirect slot for an external variable,
although we otherwise don't record it. Set kind field rather than
variable field of pvar.
(ieee_read_cxx_class): Try to get the type of a static member.
(ieee_read_reference): Check kind field rather than variable
field.