* valarith.c (value_sub): When subtracting pointers, only
check for a match of the pointed to element lengths.
Cast element length to LONGEST to obtain a signed result for
pointer subtractions.
* somsolib.c (som_solib_add): Check the value of __dld_flags, if
it indicates __dld_list is not valid return an error. If it
indicates that libraries were not mapped privately, issue a
warning.
Jeff Law [Fri, 11 Nov 1994 17:40:27 +0000 (17:40 +0000)]
* hpux-core.c (hpux_core_struct): Delete handles for the
data, reg and stack sections. They're never used. Delete
accessor macros.
(make_bfd_asection): Use bfd_make_section_anyway since debugging
cores from dynamic executables may have several sections with the
same logical name.
(hpux_core_core_file_p): Don't save handles to data, reg and
stack sections. Handle CORE_TEXT, CORE_MMF and CORE_SHM.
Rob Savoye [Thu, 10 Nov 1994 23:20:03 +0000 (23:20 +0000)]
* rom68k-rom.c: New file. Replaces the old remote-mon.c and uses
the new generic ROM interface in monitor.c.
* config/m68k/monitor.mt: Use new ROM support.
* monitor.c: Add support for xmodem download protocol.
* ldlang.c (load_symbols): Add new argument place. Only accept
linker scripts if place is not NULL. Put commands found in an
assumed linker script into place.
(lookup_name): Pass NULL as place argument to load_symbols.
(open_input_bfds): In lang_input_statement_enum case, pass a place
argument to load_symbols, and store any new statements after the
current one.
PR 5917.
Jim Kingdon [Tue, 8 Nov 1994 21:40:14 +0000 (21:40 +0000)]
* TODO: Remove "Watchpoints seem not entirely reliable, though
they haven't failed me recently." item--this old (4.6 at least)
item is too vague to be useful (some watchpoint bugs have been
fixed since then).
* TODO: Add explanation of "RPC interface" item.
* bout.c (callj_callback): Add new argument shrinking. Change all
callers. Handle relocs against section symbols correctly. If not
shrinking, don't subtract out dstidx; the subtraction is already
in the object file.
PR 5883.
Jeff Law [Tue, 8 Nov 1994 05:31:33 +0000 (05:31 +0000)]
* Enable backtracing from inside a SOM shared library back into
user code.
* hppa-tdep.c (internalize_unwinds): Accept and use new
"text_offset" argument for dynamic relocation of
region_{start,end} fields in the unwind descriptor.
(read_unwind_info): Pass text_offset to internalize unwinds.
Ken Raeburn [Tue, 8 Nov 1994 02:04:00 +0000 (02:04 +0000)]
* Makefile.in (DEVO_SUPPORT): Remove configure.bat and makeall.bat, they're
only useful for binutils snapshots.
(binutils.tar.gz, gas+binutils.tar.gz): Add configure.bat and makeall.bat to
specified SUPPORT_FILES.
Bill Cox [Tue, 8 Nov 1994 01:32:51 +0000 (01:32 +0000)]
* build-all.mk: Add Ericsson targets to sun4 and solaris
hosts. Add BNR's sun4 target to solaris host, so their
build-from-source will be tested in-house first.
Ken Raeburn [Mon, 7 Nov 1994 20:29:46 +0000 (20:29 +0000)]
* configure.in: Compare generic cpu name against "sparc", not "sparc*", since
sparc variants should be changed to "sparc".
* configure: Regenerated with autoconf 2.1.
Jeff Law [Mon, 7 Nov 1994 07:51:47 +0000 (07:51 +0000)]
* Beginnings of SOM shared library support. Breakpoints and
single frame backtracing within the library only. Only works when
using the HPUX 9 dynamic linker. More functionality to be added
soon.
* somsolib.c, somsolib.h: New files.
* Makefile.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* mpw-make.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* somread.c (som_symtab_read): Accept multiple section offsets.
All callers changed. Adjust all text symbols with the first
section offset.
* symfile.c (find_lowest_section): Enable this function. Add some
tie-breaking logic when sections have the same vma.
(syms_from_objfile): Use find_lowest_section rather than looking
for ".text" by name. Relax warning to only warn if the lowest
section is not a code section.
* config/pa/{hppabsd.mh, hppahpux.mh} (NATDEPFILES): Add somsolib.o
* config/pa/{nm-hppab.h, nm-hppah.h}: Include somsolib.h.
Jeff Law [Sun, 6 Nov 1994 20:16:34 +0000 (20:16 +0000)]
* partial-stab.h (N_TEXT): Put back GDB_TARGET_IS_HPPA kludge,
it is still needed for GCC-2.6 compiled code.
* TODO (GDB_TARGET_IS_HPPA): Note this kludge can be nuked
sometime after GCC-2.7 has been released.
Jeff Law [Sun, 6 Nov 1994 20:02:31 +0000 (20:02 +0000)]
* hppa-tdep.c (frame_saved_pc): Mask off low two bits when
retrieving the PC from a signal handler caller. Fix thinko
in Stan's last change ("frame", should have been "frame->next").
If the next frame is a signal handler caller and it's a system
call which has entered the kernel ((PSW & 0x2) != 0), then the
saved pc is in %r2 instead of %r31.
Jim Kingdon [Fri, 4 Nov 1994 22:57:19 +0000 (22:57 +0000)]
* gdbserver/Makefile.in (MMALLOC_CFLAGS): Add -I${MMALLOC_DIR}.
Correct definition of MMALLOC_DIR to reflect fact this is
gdb/gdbserver/Makefile.in, not gdb/Makefile.in.
* gdbserver/server.c (main): After we kill the inferior in
response to a 'k' request, exit.
* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start". Align at end of each section to 0x200. Start .text section 0x1000
later. Add _etext, _edata, _end symbols.
J.T. Conklin [Fri, 4 Nov 1994 00:13:13 +0000 (00:13 +0000)]
* config/tc-m68k.h (TARGET_FORMAT): If TE_NetBSD define as
"a.out-m68k-netbsd".
* config/tc-sparc.h (TARGET_FORMAT): If TE_NetBSD define as
"a.out-sparc-netbsd".
* config/te-nbsd.h: New file, NetBSD target emulation
* config/te-netbsd.h: Removed.
* configure.in (i[345]86-*-netbsd*,m68*-*-netbsd*,sparc*-*-netbsd*):
Set bfd_gas. Use nbsd emulation.
Ken Raeburn [Thu, 3 Nov 1994 23:15:54 +0000 (23:15 +0000)]
Changes from net 2.5.2 release branch:
* configure.in: Put AC_DEFINE(sparcv9) on its own line, so that the shell
variable settings associated with it are permanent. For CPUs requiring
bfd_gas=yes, select it based on CPU only, not individual target names. Handle
m68k-hp-hpux*, not just -hpux.
* config/tc-z8k.c (tc_coff_symbol_emit_hook): Add dummy argument to match
prototype in obj-coff.h.
* configure.in: Skip tests for defining WANT_FOPEN_BIN and IBM_COMPILER_SUX.
* acconfig.h: Deleted them.
* configure, conf.in: Rebuild with autoconf 2.0.
* config/go32.cfg, config/vms-conf.h: Updated.
* config/tc-m68k.c (md_apply_fix_2, md_convert_frag_1): Always use
IBM_COMPILER_SUX version of code, with comments indicating why.
* listing.c (file_info): Use text mode when opening file for read. Use "r"
directly, no macro.
* input-file.c (input_file_open): Don't use FOPEN_RT, just use "r".
* read.c (s_include): Ditto.
* output-file.c (output_file_create): Try both "wb" and "w", don't bother with
FOPEN_* macros.
* as.h: Don't include fopen-*.h.
* config/alpha-opcode.h: Make "ret" with no operands equivalent to "ret
zero,(ra)", to match OSF1 and to be consistent with both one-operand forms.
Patches from DJ Delorie:
* as.h (alloca): undef alloca before defining it just in case
* config/go32.cfg: new file for autoconf values
* config/te-go32.h: new file
* configure.bat: new for autoconf
* config/tc-i386.c (md_assemble): Fix typo in GOTPC check; had = for ==.
* configure.in: If target_frag doesn't exist, use /dev/null.
* as.c (parse_args): For non-VMS systems, re-add `v' to std_shortopts. Add
"verbose" to list of long options.
* write.c (adjust_reloc_syms): When generating an absolute section symbol as a
placeholder, don't mark it as used in a relocation entry, here.
* Makefile.in (comparison): Compare using makefile code from gcc, stripped down
to discard subdir stuff and adapted to give a non-zero exit status if either
file differs.
Ken Raeburn [Thu, 3 Nov 1994 21:35:37 +0000 (21:35 +0000)]
Changes from binutils net release:
* Makefile.in (DEVO_SUPPORT): Include configure.bat and makeall.bat.
(DISTDOCDIRS): Add `etc'.
(ETC_SUPPORT_PFX): New variable.
(taz): Include anything from etc starting with a word in ETC_SUPPORT_PFX.
Peter Schauer [Thu, 3 Nov 1994 09:27:23 +0000 (09:27 +0000)]
* osfsolib.c (solib_map_sections, first_link_map_member,
next_link_map_member, xfer_link_map_member): Retrieve and use
shared library relocation offset from runtime loader structures.
Use libxproc.a routines to get a working version if
USE_LDR_ROUTINES is defined.
* README: Remove item about shared library relocation for
Alpha OSF/1.
* archive.c (normalize): Change to take a BFD as an argument.
Change VMS version to use bfd_alloc rather than malloc, so that we
don't lose the memory forever.
(_bfd_construct_extended_name_table): Check the name of an archive
entry which is not being extended, and correct it if it is wrong.
This is necessary in case the archive was constructed by another
program which put an entry in the extended name table which we
don't plan to put in ourselves. From [email protected] (James
Clark).
(bfd_dont_truncate_arname): Check return value of normalize.
* ldctor.c (ldctor_add_set_entry): Don't permit a set to be
composed of different object file formats.
(ldctor_build_sets): If the output format does not support the
reloc, and we are not generating a relocateable link, try getting
the reloc from the input format.
Stu Grossman [Wed, 2 Nov 1994 00:50:12 +0000 (00:50 +0000)]
* Makefile.in: Use $(objdir)/tcl and $(objdir)/tk if they are
available.
* configure.in (ENABLE_CLIBS): Use $(TCL) and $(TK) instead of
-ltcl and -ltk.
* gdbtk.c: Get rid of lots of unnecessary #includes.
* (gdbtk_init): Use ConnectionNumber macro instead of referencing
Display structure directly.
* gdbtk.tcl: Change exit button to quit button (makes shebs
happy).
* elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
(ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
(symextn_entry): Don't define.
(symext_chain_size): Change type to bfd_size_type.
(symextn_contents): Change type to bfd_byte *.
(elf32_hppa_backend_begin_write_processing): Use
ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
(elf32_hppa_size_symext): Likewise. Also, change type of sizep to
bfd_size_type *.
(elf_hppa_tc_make_sections): Cast symextn_contents assignment to
bfd_byte *. Use ELF32_PARISC_SX_PUT instead of direct assignment.
(elf32_hppa_backend_symbol_table_processing): Use
ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS). Use
ELF32_PARISC_SX_GET insetad of direct assignment.
(elf32_hppa_read_symext_info): Change type of contents, and its
assignment cast, to bfd_byte *. Use ELF32_PARISC_SX_SIZE instead
of sizeof (symextn_entry). Use symext_entryS instead of
symextn_entry. Use ELF32_PARISC_SX_GET instead of direct
assignment.
Stan Shebs [Tue, 1 Nov 1994 03:28:08 +0000 (03:28 +0000)]
* coffread.c (coff_symfile_init): Remove unused local abfd.
* utils.c [NO_MMALLOC] (mmalloc, mrealloc): Define and use size_t
instead of long, for compatibility with mmalloc.h.
* hppa-dis.c (print_insn_hppa): Read the instruction using
bfd_getb32, so that it works on a little endian or 64 bit host.
Remove unused local variable op.
Ian Lance Taylor [Mon, 31 Oct 1994 19:21:40 +0000 (19:21 +0000)]
* elfcode.h (assign_file_positions_except_relocs): Sort the ELF
headers by section address when assigning file positions.
(elf_sort_hdrs): New static function.
Ian Lance Taylor [Mon, 31 Oct 1994 00:04:03 +0000 (00:04 +0000)]
* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
and DT_FINI dynamic entries based on the existence of _init and
_fini symbols, not on the .init and .fini sections. This is
compatible with some SVR4 linkers.
(elf_bfd_final_link): Corresponding change.
Ian Lance Taylor [Sun, 30 Oct 1994 03:41:50 +0000 (03:41 +0000)]
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
symbol with a PLT entry into the .plt section if it is defined in
a regular file.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
Ian Lance Taylor [Sat, 29 Oct 1994 16:20:41 +0000 (16:20 +0000)]
* linker.c (_bfd_generic_link_add_archive_symbols): It's not an
error if an empty archive has no symbol table.
* ecoff.c (ecoff_link_add_archive_symbols): Likewise.
* elfcode.h (elf_link_add_archive_symbols): Likewise.
Peter Schauer [Sat, 29 Oct 1994 09:56:38 +0000 (09:56 +0000)]
* config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
Peter Schauer [Sat, 29 Oct 1994 09:51:32 +0000 (09:51 +0000)]
* top.c (line_completion_function): Renamed from
symbol_completion_function, takes the line buffer and the
point in the line buffer as additional arguments.
(readline_line_completion_function): New function, interface
between readline and line_completion_function.
(init_main): Use it.
(complete_command): Use line_completion_function instead of
abusing rl_line_buffer. Free completion strings after printing
them.
* symtab.c (completion_list_add_name): Recheck for duplicates
if we intend to add a modified symbol.
* gdbtypes.h (cplus_struct_type): nfn_fields_total no longer
includes the number of methods from the baseclasses.
* stabsread.c (attach_fn_fields_to_type): No longer add the
number of methods from the baseclasses to TYPE_NFN_FIELDS_TOTAL,
the baseclass type might not have been completely filled in yet.
* symtab.c (total_number_of_methods): New function to compute
the total number of methods for a type, including the methods
from baseclasses.
(decode_line_1): Use it instead of TYPE_NFN_FIELDS_TOTAL to
allocate the symbol array for find_methods.
* stabsread.c (scan_file_globals): Add default case to minimal
symbol type switch, to avoid gcc -Wall warnings.
* config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
Stan Shebs [Fri, 28 Oct 1994 23:53:29 +0000 (23:53 +0000)]
* mmprivate.h: New file, was mmalloc.h.
(mmalloc.h): Include.
* mmalloc.h: Remove all but declarations of mmalloc functions.
(ansidecl.h): Include.
* attach.c, et al: Include mmprivate.h instead of mmalloc.h.
J.T. Conklin [Fri, 28 Oct 1994 18:11:15 +0000 (18:11 +0000)]
NetBSD/m68k support, based on work by [email protected]:
* config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
* configure.in (m68knetbsd_vec): Added.
* targets.c (bfd_m68knetbsd_vec): Added.
* hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
* Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
miscellaneous cleanup required by all netbsd targets, based on work
by Andrew Cagney <[email protected]>:
* netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed. Generic a.out
definitions work.
* i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
(MY(write_object_contents)): Use NetBSD's magic numbers
Ian Lance Taylor [Thu, 27 Oct 1994 21:31:50 +0000 (21:31 +0000)]
* lib/ld.exp (default_ld_compile): If the compilation worked, but
no object file was created, check to see if the compiler foolishly
ignored the -o switch when compiling, and move the resulting
object if it did.
Ian Lance Taylor [Thu, 27 Oct 1994 21:25:31 +0000 (21:25 +0000)]
* libelf.h (struct bfd_elf_section_data): Add field dynindx.
* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
the .dynsym, .dynstr or .hash sections until after the backend
size_dynamic_sections routine, so that it can add dynamic symbols
if it wants to.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
symbol to be in the .plt section when generating a shared library
if it is a defined symbol.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
(elf32_sparc_size_dynamic_sections): When generating a shared
library, allocate space for a dynamic symbol for each output
section, storing the index in the dynindx field of the ELF section
data. Adjust the other dynindx fields to account for this.
(elf32_sparc_adjust_dynindx): New static function.
(elf32_sparc_relocate_section): When copying a reloc into a shared
library, use the original addend as appropriate. Convert an
R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc. Use the dynamic
symbol index of the output section, not the normal symbol index.
(elf32_sparc_finish_dynamic_sections): Don't die if a section does
not exist when setting the value of the dynamic tags. Write out
a dynamic symbol for each output section.