* elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
first, unused, argument.
(hppa_elf_is_local_label): Declare instead of
som_bfd_is_local_label.
Peter Schauer [Fri, 1 Apr 1994 08:50:03 +0000 (08:50 +0000)]
For SVR4 targets, enable gdb to set breakpoints in shared
library functions before the executable is run.
* elfread.c (elf_symtab_read): Handle symbols for shared library
functions.
* sparc-tdep.c (in_solib_trampoline): Renamed to in_plt_section
and moved to objfiles.c.
* objfiles.c (in_plt_section): Moved to here from sparc-tdep.
* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE): Use new in_plt_section.
* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE): Removed,
the new generic definition from tm-sysv4.h works for Solaris.
Ian Lance Taylor [Thu, 31 Mar 1994 21:38:23 +0000 (21:38 +0000)]
Added some support for Irix 4 shared libraries.
* ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
.lib section.
(ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
STYP_ECOFF_LIB bit is set.
(ecoff_compute_section_file_positions): Round the contents of a
.lib section up to the next page boundary.
(ecoff_set_section_contents): If we see a .lib section, increment
the vma by one to count the number of shared libraries we have.
(ecoff_write_object_contents): Don't crash if we see a
STYP_ECOFF_LIB section, and don't adjust text_start or data_start
or bss_size either.
Ian Lance Taylor [Thu, 31 Mar 1994 21:05:21 +0000 (21:05 +0000)]
* coffcode.h (CALC_ADDEND): Change to fetch original symbol value
from original BFD, rather than using value of current BFD symbol.
Needed for new linker.
* coff-sparc.c (CALC_ADDEND): Likewise.
Ian Lance Taylor [Thu, 31 Mar 1994 19:44:10 +0000 (19:44 +0000)]
* ecoff.c (ecoff_write_object_contents): Set the text_start and
data_start entries in the optional header correctly even if a text
or data section starts at location zero.
Ian Lance Taylor [Thu, 31 Mar 1994 16:58:23 +0000 (16:58 +0000)]
* coffgen.c (coff_write_symbol): Reindented. Changed to return
boolean, and changed written to unsigned int *. Check error
returns from called functions.
(coff_write_alien_symbol): Likewise.
(coff_write_native_symbol): Likewise.
(coff_write_symbols): Likewise. Reworked checks on whether to
write symbol name to string table for clarity and to avoid core
dumping when given a non COFF symbol.
* libcoff-in.h (coff_write_symbols): Declare as returning boolean.
* libcoff.h: Rebuilt.
* coffcode.h (coff_write_object_contents): Check return value of
coff_write_symbols.
Jeff Law [Thu, 31 Mar 1994 06:50:42 +0000 (06:50 +0000)]
* som.c (som_begin_writing): New approach at dealing with holes
in executables left by the HP linker. Does not rely on subspace
alignments as subspaces are *NOT* guaranteed to be properly
aligned in an executable (can you believe that!).
Jim Kingdon [Wed, 30 Mar 1994 22:38:58 +0000 (22:38 +0000)]
* xcoffread.c (xcoff_next_symbol_text): New function.
(read_xcoff_symtab): Set next_symbol_text_func to it.
Move raw_symbol outside of read_xcoff_symtab.
Ian Lance Taylor [Wed, 30 Mar 1994 22:10:18 +0000 (22:10 +0000)]
* elfread.c (elf_symtab_read): Change storage_needed,
number_of_symbols and i to long. Rename get_symtab_upper_bound to
bfd_get_symtab_upper_bound. Check for errors from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
* nlmread.c (nlm_symtab_read): Same changes.
Ian Lance Taylor [Wed, 30 Mar 1994 22:06:39 +0000 (22:06 +0000)]
* gprof.c (getsymtab): Change nosyms to long. Rename
get_symtab_upper_bound to bfd_get_symtab_upper_bound. Check for
errors from bfd_get_symtab_upper_bound and
bfd_canonicalize_symtab.
Ian Lance Taylor [Wed, 30 Mar 1994 22:06:17 +0000 (22:06 +0000)]
Update for recent BFD changes to symbol and reloc reading. Rename
all uses of get_symtab_upper_bound to bfd_get_symtab_upper_bound.
Also:
* coffgrok.c (symcount): Change to long.
(do_sections_p1): Check for error return from
bfd_get_reloc_upper_bound. Change relcount to long, and check for
error from bfd_canonicalize_reloc.
(coff_grok): Change storage to long. Check for error from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
* nlmconv.c (main): Change symcount, newsymalloc, newsymcount, and
i to long. Check for error from bfd_get_symtab_upper_bound and
bfd_canonicalize_symtab.
(copy_sections): Change reloc_size and reloc_count to long. Check
for error from bfd_get_reloc_upper_bound and
bfd_canonicalize_reloc.
(mangle_relocs, i386_mangle_relocs, alpha_mangle_relocs): Change
reloc_count_ptr argument to long *. Make corresponding changes to
variables loaded from *reloc_count_ptr.
* nm.c (display_rel_file): Change storage and symcount to long.
Check for errors from bfd_get_symtab_upper_bound and
bfd_canonicalize_symtab.
* objcopy.c (filter_symbols): Change symcount, src_count and
dst_count to long.
(copy_object): Change symcount to long. Pass another argument to
fprintf. Check for errors from bfd_get_symtab_upper_bound and
bfd_canonicalize_symtab.
(copy_section): Change relcount to long. Check for errors from
bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
(mark_symbols_used_in_relocations): Change relcount and i to long.
Check for errors form bfd_get_reloc_upper_bound and
bfd_canonicalize_reloc.
* objdump.c (storage): Remove global variable.
(symcount): Changed to long.
(slurp_symtab): New local variable storage. Check for errors from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
(remove_useless_symbols): Change return value and count to long.
(objdump_print_address): Change min, max, thisplace and i to long.
(disassemble_data): Change i to long.
(dump_symbols): Change count to long.
(dump_relocs): Change relcount to long. Check for errors from
bfd_ret_reloc_upper_bound and bfd_canonicalize_reloc.
(display_info_table): Add casts when passing LONGEST_ARCH for
printf %* argument.
Jim Kingdon [Wed, 30 Mar 1994 21:48:14 +0000 (21:48 +0000)]
* xcoffread.c (xcoff_next_symbol_text): New function.
(read_xcoff_symtab): Set next_symbol_text_func to it.
Move raw_symbol outside of read_xcoff_symtab.
Peter Schauer [Wed, 30 Mar 1994 10:00:00 +0000 (10:00 +0000)]
* config/i386/tm-symmetry.h: Clean up, it is now only used for Dynix.
Remove all conditionals and definitions for ptx.
I386_REGNO_TO_SYMMETRY moved to here from symm-tdep.c.
Fix addresses of floating point registers in REGISTER_U_ADDR.
STORE_STRUCT_RETURN now handles cc and gcc conventions.
FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC,
IN_SIGTRAMP, SIGCONTEXT_PC_OFFSET defined to make backtracing through
signal trampoline code work.
* config/i386/xm-symmetry.h: Clean up, it is now only used for Dynix.
Remove all conditionals and definitions for ptx.
Remove KDB definitions.
Peter Schauer [Wed, 30 Mar 1994 09:57:08 +0000 (09:57 +0000)]
* ch-exp.y (decode_integer_value, match_character_literal,
match_bitstring_literal): Guard tolower calls with isupper,
tolower on old BSD systems blindly subtracts a constant.
* dbxread.c (read_ofile_symtab): Check for __gnu_compiled_* as
well when determining the producer of the object file.
* mdebugread.c (has_opaque_xref): New function to check for
cross reference to an opaque aggregate.
* mdebugread.c (parse_symbol, parse_partial_symbols): Do not
enter typedefs to opaque aggregates into the symbol tables.
* mdebugread.c (parse_external): Remove skip_procedures argument,
it has always been 1. Remove code that handled stProc symbols,
it was never executed and was wrong, as the index of a
stProc symbol points to the local symbol table and not to the
auxiliary symbol info. Update caller.
* mdebugread.c (parse_partial_symbols): Do not enter external
stProc symbols into the partial symbol table, they are already
entered into the minimal symbol table.
* config/i386/tm-symmetry.h: Clean up, it is now only used for Dynix.
Remove all conditionals and definitions for ptx.
I386_REGNO_TO_SYMMETRY moved to here from symm-tdep.c.
Fix addresses of floating point registers in REGISTER_U_ADDR.
STORE_STRUCT_RETURN now handles cc and gcc conventions.
FRAME_CHAIN, FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC,
IN_SIGTRAMP, SIGCONTEXT_PC_OFFSET defined to make backtracing through
signal trampoline code work.
* config/i386/xm-symmetry.h: Clean up, it is now only used for Dynix.
Remove all conditionals and definitions for ptx.
Remove KDB definitions.
* symm-nat.c (store_inferior_registers): Fetch registers before
storing them to obtain valid floating point control registers.
Store fpu registers.
* symm-nat.c (print_1167_control_word): Dynix 3.1.1 defines
FPA_PCR_CC_C0 and FPA_PCR_CC_C1, avoid duplicate case value.
* symm-nat.c (fetch_inferior_registers, child_xfer_memory):
Fix typos.
* symm-nat.c (child_resume): Update type of `signal' parameter.
* symm-tdep.c (I386_REGNO_TO_SYMMETRY): Moved to tm-symmetry.h.
Peter Schauer [Wed, 30 Mar 1994 09:21:59 +0000 (09:21 +0000)]
* gdb.t02/whatis.exp, gdb.t08/opaque.exp: Add XFAILs for
sequent dynix.
* gdb.t06/signals.exp: Add clear_xfail for sequent dynix.
* gdb.t15/funcargs.exp: Conditionally step again to really
finish from marker_call_with_trampolines. Handle the case where
the first step from within call_with_trampolines already steps
us back to main.
* gdb.t15/gdbme.c: Add comment to closing brace of
call_with_trampolines for funcargs.exp.
Peter Schauer [Wed, 30 Mar 1994 08:53:45 +0000 (08:53 +0000)]
* i386dynix.c, config/i386-dynix.mt: New files, handling Dynix
variant of a.out.
* configure.in, config.bfd: Use them for Dynix.
* Makefile.in: Add dependencies for i386dynix.o.
* targets.c: Add definition for i386dynix_vec.
Jim Kingdon [Wed, 30 Mar 1994 03:50:23 +0000 (03:50 +0000)]
* remote.c (getpkt): If we get a timeout, actually retry rather
than just giving up the first time it happens.
* remote.c: Document sequence numbers.
(remote_store_registers): Change syntax of 'P' request so that it
never looks like a sequence number.
* os9kread.c (record_minmal_symbol): add section_offset to
relocate minimal symbol table.
* os9kread.c (read_minimal_symbols): ditto.
* os9kread.c (os9k_symfile_init): increase size of dbg and stb
file names.
* os9kread.c (read_os9k_psymtab): if there's no dbg file, just
return. Also if file addr is 0 leave it 0, not to relocate.
* remote-os9k.c (_initialize_remote_os9k): add 'set remotexon',
'set remotexoff' and 'set remotelog' commands.
Jim Kingdon [Tue, 29 Mar 1994 20:43:48 +0000 (20:43 +0000)]
* remote.c (remote_store_registers): Add 'P' request to set an
individual register.
(remote_write_bytes, remote_read_bytes): Use %lx, not %x, to print
a target address.
Ian Lance Taylor [Mon, 28 Mar 1994 17:43:54 +0000 (17:43 +0000)]
* config/obj-aout.c (obj_aout_frob_symbols): Don't let BFD clobber
the type of symbol set symbols which happen to be in the absolute
or undefined section.
Jeff Law [Mon, 28 Mar 1994 00:53:55 +0000 (00:53 +0000)]
* gdb.t07/gdbme.c: More code for watchpoint testing.
* gdb.t07/watchpoint.exp: Accept both "Watchpoint" and
"Hardware watchpoint" throughout file.
(test_watchpoint_triggered_in_syscall): New test.
(test_complex_watchpoint): New test.
Jeff Law [Mon, 28 Mar 1994 00:25:15 +0000 (00:25 +0000)]
* More fixes for object formats which allow multiple sections
with the same name:
* objcopy.c (setup_section): Make a new output section even if
one already exists with the given name.
(copy_section): Use isection->output_section rather than trying
to look the output section up by its (possibly non-unique) name.
Jeff Law [Sun, 27 Mar 1994 22:05:21 +0000 (22:05 +0000)]
* config/tc-hppa.c (tc_gen_reloc): Set addend for relocation
involving a function symbol which is not a plabel to zero.
(md_apply_fix): Never pass a function symbol to field_adjust.
Jeff Law [Sat, 26 Mar 1994 20:25:48 +0000 (20:25 +0000)]
* som.c (som_get_section_contents): New function. Do not try
to actually read data from a section that doesn't have either
SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
David MacKenzie [Sat, 26 Mar 1994 20:08:38 +0000 (20:08 +0000)]
* configure: Make unrecognized options give nonfatal warnings
instead of fatal errors, and pass them to any subdirectory
configures in case they recognize them.
Make --x equivalent to --with-x.
Jeff Law [Sat, 26 Mar 1994 18:28:29 +0000 (18:28 +0000)]
* libbfd.c (bfd_read): Set bfd_error as appropriate for a short
read. (bfd_error_system_call or bfd_error_file_truncated).
* som.c: Do not blindly set bfd_error_system_call after a
failing bfd_read, bfd_write, or bfd_seek. In a few places
(like som_object_p) override the error status set by bfd_read.
Jim Kingdon [Sat, 26 Mar 1994 16:00:02 +0000 (16:00 +0000)]
* config/sparc/tm-sparc.h: Define USE_REGISTER_NOT_ARG.
* stabsread (define_symbol): If USE_REGISTER_NOT_ARG, go back to
combining all 'p' and 'r' pairs into a LOC_REGPARM.
Jim Kingdon [Sat, 26 Mar 1994 15:15:00 +0000 (15:15 +0000)]
* command.c (do_setshow_command, case var_string): Never add a
space to the end of the string.
* NEWS: Document this change.
* .gdbinit: Add a space to the "set prompt" command.
Jim Kingdon [Sat, 26 Mar 1994 04:26:26 +0000 (04:26 +0000)]
* buildsym.c (start_subfile, patch_subfile_names), demangle.c
(set_demangling_style, set_demangling_command): Use savestring not
strdup. We were not dealing properly with a NULL return from
strdup, and were not declaring strdup (the system header may or
may not have it).
Jeff Law [Sat, 26 Mar 1994 01:07:36 +0000 (01:07 +0000)]
* hppa-tdep.c (skip_prologue): Do nothing if not at the beginning
of a function.
(skip_trampoline_code): Rewrite and add support for argument
relocation stubs stubs, import/export stubs, calls through
"_sr4export" and cascaded trampolines.