binutils-gdb.git
30 years ago * c-exp.y (yylex): scan template names, and scan nested class
Kung Hsu [Wed, 2 Nov 1994 23:11:47 +0000 (23:11 +0000)]
    * c-exp.y (yylex): scan template names, and scan nested class
        names.

30 years ago * ar.c (main): Treat ar qs like ar rs.
Ian Lance Taylor [Wed, 2 Nov 1994 20:45:02 +0000 (20:45 +0000)]
* ar.c (main): Treat ar qs like ar rs.

30 years ago * archive.c (normalize): Change to take a BFD as an argument.
Ian Lance Taylor [Wed, 2 Nov 1994 20:29:18 +0000 (20:29 +0000)]
* 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 jjc@jclark.com (James
Clark).
(bfd_dont_truncate_arname): Check return value of normalize.

30 years ago* nlm/Makefile.in: install gdbserve.nlm.
J.T. Conklin [Wed, 2 Nov 1994 19:04:22 +0000 (19:04 +0000)]
* nlm/Makefile.in: install gdbserve.nlm.

30 years ago * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
Ian Lance Taylor [Wed, 2 Nov 1994 17:22:28 +0000 (17:22 +0000)]
* 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.

30 years ago * Makefile.in: Use $(objdir)/tcl and $(objdir)/tk if they are
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).

30 years ago * config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
Ian Lance Taylor [Tue, 1 Nov 1994 22:07:46 +0000 (22:07 +0000)]
* config/tc-mips.c (s_change_sec): If not GPOPT, don't permit
switching to the readonly data section.

30 years ago * ecoff.c (ecoff_directive_type): Fix warning message.
Ian Lance Taylor [Tue, 1 Nov 1994 21:39:38 +0000 (21:39 +0000)]
* ecoff.c (ecoff_directive_type): Fix warning message.

30 years ago * c-valprint.c (c_value_print): Check for plain literal `char'
Peter Schauer [Tue, 1 Nov 1994 21:04:11 +0000 (21:04 +0000)]
* c-valprint.c (c_value_print):  Check for plain literal `char'
target type when suppressing `(char *)' output for strings.

30 years ago* Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
J.T. Conklin [Tue, 1 Nov 1994 18:33:35 +0000 (18:33 +0000)]
* Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
  (em68knbsd.c): New target.

* config/m68k-nbsd.mt: New file.
* emulparams/m68knbsd.sh: New file.
* configure.in (m68*-*-netbsd*): Use above configs.

30 years ago * elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
Ian Lance Taylor [Tue, 1 Nov 1994 04:46:07 +0000 (04:46 +0000)]
* 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.

30 years ago * coffread.c (coff_symfile_init): Remove unused local abfd.
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.

30 years ago * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
Ian Lance Taylor [Tue, 1 Nov 1994 00:37:05 +0000 (00:37 +0000)]
* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
appropriately named static library, stop the search at that
directory.

30 years ago * hppa-dis.c (print_insn_hppa): Read the instruction using
Ian Lance Taylor [Tue, 1 Nov 1994 00:02:52 +0000 (00:02 +0000)]
* 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.

30 years ago * archive.c (bfd_dont_truncate_arname): Add the ar padding
Ian Lance Taylor [Mon, 31 Oct 1994 20:23:47 +0000 (20:23 +0000)]
* archive.c (bfd_dont_truncate_arname): Add the ar padding
character, if there is room for it, even if the name is the
maximum length.
PR 5859.

30 years ago * elfcode.h (assign_file_positions_except_relocs): Sort the ELF
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.

30 years ago * lib/ld.exp (default_ld_compile): Remove the output file before
Ian Lance Taylor [Mon, 31 Oct 1994 00:05:09 +0000 (00:05 +0000)]
* lib/ld.exp (default_ld_compile): Remove the output file before
compiling.

30 years ago * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
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.

30 years ago * config/tc-hppa.c (pa_proc): Delete disabled code to put each
Jeff Law [Sun, 30 Oct 1994 07:00:14 +0000 (07:00 +0000)]
* config/tc-hppa.c (pa_proc): Delete disabled code to put each
proc in its own subspace, we're not going to use it.

30 years ago * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
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.

30 years ago * linker.c (_bfd_generic_link_add_archive_symbols): It's not an
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.

30 years ago * gdb.base/a1-selftest.exp: Remove RS/6000 xfail for backtrace
Peter Schauer [Sat, 29 Oct 1994 09:58:01 +0000 (09:58 +0000)]
* gdb.base/a1-selftest.exp:  Remove RS/6000 xfail for backtrace
through signal handler.

30 years ago * config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
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.

30 years ago * top.c (line_completion_function): Renamed from
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.

30 years ago * Makefile.in (MMALLOC_DIR): New definition.
Stan Shebs [Sat, 29 Oct 1994 00:02:51 +0000 (00:02 +0000)]
* Makefile.in (MMALLOC_DIR): New definition.
(MMALLOC): Use MMALLOC_DIR.
(MMALLOC_CFLAGS): Look in MMALLOC_DIR for mmalloc.h.
(OPCODES): Remove gratuitous "./".
* defs.h (mmalloc.h): Include.
(mmalloc, mrealloc, etc): Remove decls.
(cplus_demangle, cplus_demangle_opname): Remove decls.

30 years ago * mmprivate.h: New file, was mmalloc.h.
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.

30 years agoReally forget all about the old tests dir
Stan Shebs [Fri, 28 Oct 1994 22:45:04 +0000 (22:45 +0000)]
Really forget all about the old tests dir

30 years agoNetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
J.T. Conklin [Fri, 28 Oct 1994 18:11:15 +0000 (18:11 +0000)]
NetBSD/m68k support, based on work by mikeb@snow.datametrics.com:
* 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 <cagney@highland.com.au>:
* 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

30 years ago * ld-shared: New directory, with new files to test generating ELF
Ian Lance Taylor [Thu, 27 Oct 1994 21:33:10 +0000 (21:33 +0000)]
* ld-shared: New directory, with new files to test generating ELF
shared libraries.

30 years ago * lib/ld.exp (default_ld_compile): If the compilation worked, but
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.

30 years ago * libelf.h (struct bfd_elf_section_data): Add field dynindx.
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.

30 years ago * defs.h, gdbtk.c, main.c, top.c: Change sense and name of
Stu Grossman [Wed, 26 Oct 1994 22:45:13 +0000 (22:45 +0000)]
* defs.h, gdbtk.c, main.c, top.c:  Change sense and name of
no_windows variable.  Now called use_windows, and defaults to off
(for compatibility).

30 years ago * coffread.c (coff_symtab_read): If we get the address from
Jim Kingdon [Wed, 26 Oct 1994 21:50:19 +0000 (21:50 +0000)]
* coffread.c (coff_symtab_read): If we get the address from
target_lookup_symbol, set the section to -2 not SECT_OFF_BSS.
(coff_symtab_read): Set value and section of symbol that
process_coff_symbol returns.

30 years ago* Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
J.T. Conklin [Wed, 26 Oct 1994 21:02:02 +0000 (21:02 +0000)]
* Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
  and esparcnbsd.o; sorted entries.
  (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.

* config/netbsd532.mt: Removed.
* emulparams/netbsd532.sh: Removed.

* config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
* emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
* configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
  sparc*-*-netbsd*): Use above configs.

30 years ago * config.sub: Update for recent FSF changes. Remove obsolete
Ian Lance Taylor [Wed, 26 Oct 1994 20:41:39 +0000 (20:41 +0000)]
* config.sub: Update for recent FSF changes.  Remove obsolete
h8300hds entry.  Add -windows* and -osx as basic os.  Minor
spacing changes.

30 years agoAdd libstdc++
Jason Merrill [Wed, 26 Oct 1994 19:37:54 +0000 (19:37 +0000)]
Add libstdc++

30 years ago * aoutx.h (aout_link_input_section): Don't bother to read or write
Ian Lance Taylor [Wed, 26 Oct 1994 05:17:08 +0000 (05:17 +0000)]
* aoutx.h (aout_link_input_section): Don't bother to read or write
the relocs if there aren't any.

30 years agoAdd support for arc processor.
David Edelsohn [Wed, 26 Oct 1994 03:18:14 +0000 (03:18 +0000)]
Add support for arc processor.

30 years ago * config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
Ian Lance Taylor [Tue, 25 Oct 1994 21:24:02 +0000 (21:24 +0000)]
* config/tc-mips.c (macro): Ensure that mips2 case of M_LI_DD in
.rdata does not become a variant frag.

30 years ago * mips-opc.c: Use or instead of addu for pseudo-op move, since
Ian Lance Taylor [Tue, 25 Oct 1994 21:09:08 +0000 (21:09 +0000)]
* mips-opc.c: Use or instead of addu for pseudo-op move, since
addu does not work correctly if -mips3.
PR 5832.

30 years ago * objcopy.c (gap_fill): Explicitly initialize, for clarity.
Ian Lance Taylor [Tue, 25 Oct 1994 20:22:32 +0000 (20:22 +0000)]
* objcopy.c (gap_fill): Explicitly initialize, for clarity.
(pad_to_set, pad_to): New static variables.
(copy_options): Accept --pad-to.
(copy_usage): Mention --pad-to.
(copy_object): Support --pad-to.
(compare_section_vma): Sort non loadable sections to the front.
Sort sections with the same VMA by size.
(copy_main): Handle --pad-to.
* binutils.texi, objcopy.1: Document --pad-to.

30 years ago * Makefile.in (ALL_MACHINES): Add tekhex.o.
Ian Lance Taylor [Tue, 25 Oct 1994 19:11:46 +0000 (19:11 +0000)]
* Makefile.in (ALL_MACHINES): Add tekhex.o.
* targets.c (bfd_target_vector): If SELECT_VECS is not defined,
include tekhex_vec.
* tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
(getvalue, getsym, out): Likewise.
(find_chunk): Remove unused variable s.
(first_phase): Remove unused variable s.
(pass_over): Remove unused variable address.
(tekhex_object_p): Remove unused variable section.
(move_section_contents): Change return type from boolean to void.
(tekhex_write_object_contents): Remove unused variables tdata and
list.

30 years ago * config/tc-mips.c (mips_cpu): Initialize to -1.
Ian Lance Taylor [Tue, 25 Oct 1994 18:47:09 +0000 (18:47 +0000)]
* config/tc-mips.c (mips_cpu): Initialize to -1.
(md_begin): Don't mips_cpu if it was already set.
(md_parse_option): For -mipsN, don't set mips_cpu if it was
already set.  For -mcpu=, just set mips_cpu, not mips_isa.

30 years ago* config/i386/tm-nbsd.h: Enable longjmp support.
J.T. Conklin [Tue, 25 Oct 1994 16:55:44 +0000 (16:55 +0000)]
* config/i386/tm-nbsd.h: Enable longjmp support.

30 years ago * ldmain.c (multiple_common): One of the types may now be
Ian Lance Taylor [Tue, 25 Oct 1994 15:48:09 +0000 (15:48 +0000)]
* ldmain.c (multiple_common): One of the types may now be
bfd_link_hash_indirect.  The old BFD argument may be NULL.

30 years ago * linker.c (enum link_action): Add CIND.
Ian Lance Taylor [Tue, 25 Oct 1994 15:47:59 +0000 (15:47 +0000)]
* linker.c (enum link_action): Add CIND.
(link_action): Change COMMON_ROW\indr from MDEF to CREF.  Change
INDR_ROW\common from MDEF to CIND.
(_bfd_generic_link_add_one_symbol): In CREF case, handle an
existing symbol which is indirect rather than defined.  Add new
CIND case.

30 years ago * bfdlink.h (struct bfd_link_callbacks): Fix comments for
Ian Lance Taylor [Tue, 25 Oct 1994 15:38:39 +0000 (15:38 +0000)]
* bfdlink.h (struct bfd_link_callbacks): Fix comments for
multiple_common field.

30 years ago Change S-record backend to use multiple sections to handle gaps in
Ian Lance Taylor [Mon, 24 Oct 1994 20:08:33 +0000 (20:08 +0000)]
Change S-record backend to use multiple sections to handle gaps in
file.
* srec.c (srec_data_list_struct): Move field next from last place
to first.  Change type of data to bfd_byte *.
(struct srec_symbol): Define.
(tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
string_size, string_idx.  Change type of symbols to struct
srec_symbol *.  Add symtail and csymbols.
(low, high): Remove.
(size_symbols, fillup_symbols, size_srec, fillup): Remove.
(white, skipwhite, pass_over, object_p): Remove.
(srec_mkobject): Call srec_init.  Adjust tdata initialization for
field changes.
(srec_get_byte, srec_bad_byte): New static functions.
(srec_new_symbol, srec_scan): New static functions.
(srec_object_p): Change type of b to bfd_byte.  Explicitly set
wrong_format error.  Call srec_mkobject and srec_scan instead of
object_p.
(symbolsrec_object_p): Likewise.  Also, change b to be only two
bytes.
(srec_read_section): New static function.
(srec_get_section_contents): Call srec_read_section rather than
pass_over.  Handle zero length section correctly.
(set_set_arch_mach): Change from function to macro.
(srec_set_section_contents): Change data to bfd_byte *.
(srec_write_record): Change data, end and src to bfd_byte *.
(srec_write_header): Change buffer and dst to bfd_byte *.
(srec_write_section): Change location to bfd_byte *.
(srec_write_terminator): Change buffer to bfd_byte *.
(srec_get_symtab_upper_bound): Don't call
srec_get_section_contents.
(srec_get_symtab): Rewrite.

30 years ago * ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
Ian Lance Taylor [Mon, 24 Oct 1994 19:37:18 +0000 (19:37 +0000)]
* ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.

30 years ago * valarith.c (value_binop): Take care of ANSI `value preserving'
Peter Schauer [Sat, 22 Oct 1994 10:48:30 +0000 (10:48 +0000)]
* valarith.c (value_binop):  Take care of ANSI `value preserving'
rule, which was not addressed by the previous change.

* rs6000-tdep.c (skip_prologue):  Handle `mr r31,r1', which is
generated by gcc-2.6, as a synonym for `oril r31,r1,0'.

* TODO:  Remove item about RS/6000 shared libraries.

30 years agoadditions for binutils release from dj
Ken Raeburn [Sat, 22 Oct 1994 02:17:33 +0000 (02:17 +0000)]
additions for binutils release from dj

30 years ago * config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
Ian Lance Taylor [Sat, 22 Oct 1994 00:51:53 +0000 (00:51 +0000)]
* config/tc-mips.c (md_pseudo_table): If OBJ_ELF, handle .section.
(s_elf_section): New static function.
* ecoff.c (ecoff_build_symbols): Don't abort if we don't recognize
the section when setting the storage class; default to sc_Data.

30 years ago* libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
J.T. Conklin [Fri, 21 Oct 1994 23:55:30 +0000 (23:55 +0000)]
* libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
* i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
  changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
  consistant with each other.
* netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
  header into the start of its text segment.

30 years ago * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
Ian Lance Taylor [Fri, 21 Oct 1994 23:43:29 +0000 (23:43 +0000)]
* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
_construct_extended_name_table.
(bfd_target): Add _bfd_construct_extended_name_table.
* archive.c (_bfd_archive_bsd_construct_extended_name_table): New
function.
(_bfd_archive_coff_construct_extended_name_table): New function.
(_bfd_construct_extended_name_table): Renamed by adding a leading
underscore, and made externally visible.  Added trailing_slash
argument, and used it instead of elf_style.  Changed type of
tablen to bfd_size_type *.
(_bfd_write_archive_contents): Use BFD_SEND to call
construct_extended_name_table.  Use the returned name.
* libbfd-in.h (_bfd_construct_extended_name_table): Declare.
(_bfd_noarchive_construct_extended_name_table): Define.
(_bfd_archive_bsd_construct_extended_name_table): Declare.
(_bfd_archive_coff_construct_extended_name_table): Declare.
* bfd-in2.h: Rebuild.
* libbfd.h: Rebuild.
* som.c (som_construct_extended_name_table): New static function.
* aout-target.h (MY_construct_extended_name_table): Define.
* coff-rs6000.c (rs6000coff_construct_extended_name_table):
Define.
* ieee.c (ieee_construct_extended_name_table): Define.
* libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
* oasys.c (oasys_construct_extended_name_table): Define.

30 years agofix BFD_ASSERT calls
Ian Lance Taylor [Fri, 21 Oct 1994 23:40:59 +0000 (23:40 +0000)]
fix BFD_ASSERT calls

30 years agoremove unused variable
Ian Lance Taylor [Fri, 21 Oct 1994 23:21:19 +0000 (23:21 +0000)]
remove unused variable

30 years ago Fix the ELF linker to not require an interpreter if no dynamic
Ian Lance Taylor [Fri, 21 Oct 1994 22:00:18 +0000 (22:00 +0000)]
Fix the ELF linker to not require an interpreter if no dynamic
objects were seen, even when linking PIC code.
* libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
(struct elf_link_hash_table): Add field dynamic_sections_created.
* elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
doesn't already exist.
(elf_link_add_object_symbols): Create dynamic sections based on
dynamic_sections_created field, not dynobj field.  Don't bother to
set dynobj.
(elf_link_create_dynamic_sections): If dynamic sections were
already created, don't do anything.  If dynobj is already set, use
it; otherwise, set it to the bfd argument.  Don't initialize
dynsymcount.  Only create dynstr if it does not exist.  Set
dynamic_sections_created to true.
(NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
if no dynamic objects were seen.
(elf_adjust_dynamic_symbol): If a symbol has the
ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
(elf_bfd_final_link): Change most decisions based on dynobj to
check dynamic_sections_created instead.
(elf_link_output_extsym): Only handle dynamic symbols if a dynamic
object was seen.
* elf.c (_bfd_elf_link_hash_table_init): Initialize new field
dynamic_sections_created.  Set dynsymcount to 1, not 0.
* elf32-i386.c (elf_i386_create_dynamic_sections): Call
elf_i386_create_got_section rather than creating the .got and
.got.plt sections.
(elf_i386_create_got_section): New static function.
(elf_i386_check_relocs): Just call elf_i386_create_got_section if
a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
Only create the .rel.got section, and only make space for a reloc,
for a global symbol or when generating a shared object.  For a
R_386_PLT32 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
(elf_i386_adjust_dynamic_symbol): Rework initial assertion to
permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols.  Create a
procedure linkage table entry for such symbols.  But, if no
dynamic objects were seen, never create a PLT entry.
(elf_i386_size_dynamic_sections): If no dynamic objects were seen,
skip most of this function, and force the size of the .rel.got
section to zero.
(elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
symbol when no dynamic object was seen, initialize the contents of
the .got section.  For a R_386_GOT32 against a local symbol, only
create a R_386_RELATIVE reloc when generating a shared object.
Treat a R_386_PLT32 reloc against a symbol for which we did not
create a PLT entry as a R_386_PC32 reloc.
(elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
entries and the PLT if we saw a dynamic object.
* elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
setting rightshift to 10.  Fix R_SPARC_WPLT20 by setting
rightshift to 2, size to 2, bitsize to 30, and dst_mask to
0x3fffffff.
(elf32_sparc_create_dynamic_sections): Don't set the size of the
.plt section.  Call elf32_sparc_create_got_section rather than
creating the .got section.
(elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
Only create the .rela.got section, and only make space for a
reloc, for a global symbol or when generating a shared object.
Set the alignment of the .rela.got section to 2.  For a
R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
(elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols.  Create a
procedure linkage table for such symbols.  But, if no dynamic
objects were seen, never create a PLT entry.  Initialize the size
of the .plt section.
(elf32_sparc_size_dynamic_sections): If no dynamic objects were
seen, skip most of this function, and force the size of the
.rela.got section to zero.  Strip empty reloc sections, and strip
an empty .plt section.
(elf32_sparc_relocate_section): For a GOT reloc against a global
symbol when no dynamic object was seen, initialize the contents of
the .got section.  For a GOT reloc against a local symbol, only
create a R_SPARC_RELATIVE reloc when generating a shared object.
Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
create a PLT entry as a R_SPARC_WDISP30 reloc.
(elf32_sparc_finish_dynamic_sections): Only fiddle with the
dynamic entries and the PLT if we saw a dynamic object.

30 years ago* configure.in (*-*-netware): Use config/mt-netware.
J.T. Conklin [Fri, 21 Oct 1994 18:34:40 +0000 (18:34 +0000)]
* configure.in (*-*-netware): Use config/mt-netware.

* config/mt-netware: New file.
* config/mt-i386-netware: Removed, separate configs for different
  netware architectures are no longer needed now that we have
  --with-headers.

30 years ago * configure.in (target_libs): Remove libstdc++ for libg++-2.6.1.
Per Bothner [Fri, 21 Oct 1994 02:27:38 +0000 (02:27 +0000)]
* configure.in (target_libs):  Remove libstdc++ for libg++-2.6.1.

30 years ago * configure.in: Add * at the end of m68k-hp-hpux.
Ian Lance Taylor [Fri, 21 Oct 1994 02:02:54 +0000 (02:02 +0000)]
* configure.in: Add * at the end of m68k-hp-hpux.

30 years ago * config.guess: Merge with FSF.
Per Bothner [Fri, 21 Oct 1994 01:55:14 +0000 (01:55 +0000)]
* config.guess:  Merge with FSF.
* configure.in:  Match on i?86-ncr-sysv4.3, not i?86-ncr-sysv43.

30 years ago * defs.h, infrun.c (wait_for_inferior), top.c: Call
Stu Grossman [Fri, 21 Oct 1994 00:59:20 +0000 (00:59 +0000)]
* defs.h, infrun.c (wait_for_inferior), top.c:  Call
target_wait_hook to allow GUI to handle blocking for inferior.  Call
call_command_hook in execute_command to provide means for wrapping
commands with GUI state change updates.
* gdbtk.c (gdb_cmd):  Force GUI into idle mode when errors occur.
* (gdb_stop):  New tcl command to stop the target process.
* (x_event, gdbtk_wait):  Allow GUI to interrupt gdb out of target
waits.
* (gdbtk_call_command):  Wrapper around command processing to
alert GUI of target state changes.
* (gdbtk_init):  Get the fd of X server for doing async
notification of X events (via x_event).  Setup new hooks.
* gdbtk.tcl:  Add scrollbars to assembly and command windows.
* Change window foreground & background colors.
* Create margin tag for breakpoints in source and assembly windows.
* Add new routines to be invoked when target state changes to/from
idle.
* Add start of expression window.
* Change bindings of mouse button 1 in assembly and source window
to just set or clear breakpoints when in the margin tag.
* Change shape of register window to be more vertical to better
reflect it's contents.
* Add stop button.
* Cleanup some code around command window bindings.

* infrun.c (wait_for_inferior):  Make sure
through_sigtramp_breakpoint is non-null before deleting.

30 years ago* configure: Since the "trap 0" handler will override the exit status on many
Ken Raeburn [Thu, 20 Oct 1994 23:32:46 +0000 (23:32 +0000)]
* configure: Since the "trap 0" handler will override the exit status on many
systems, only use it for "exit 1", and make it set a non-zero exit status;
reset it before "exit 0".  Also, check exit status of config.sub, and error out
if it failed.

30 years agoAdded irix5 info
Karen Christiansen [Thu, 20 Oct 1994 19:25:23 +0000 (19:25 +0000)]
Added irix5 info

30 years ago * objcopy.c (gap_fill_set, gap_fill): New static variables.
Ian Lance Taylor [Thu, 20 Oct 1994 17:58:23 +0000 (17:58 +0000)]
* objcopy.c (gap_fill_set, gap_fill): New static variables.
(copy_options): Accept --gap-fill.
(copy_usage): Mention --gap-fill.
(copy_object): Support --gap-fill.
(get_sections, compare_section_vma): New static functions.
(copy_main): Handle --gap-fill.
* binutils.texi, objcopy.1: Document --gap-fill.

30 years agoAdded --with-stabs for alpha and sgi5.2
Karen Christiansen [Thu, 20 Oct 1994 17:49:11 +0000 (17:49 +0000)]
Added --with-stabs for alpha and sgi5.2

30 years ago* config/powerpc/ppc-nw.mt (TDEPFILES): Removed exec.o.
J.T. Conklin [Thu, 20 Oct 1994 17:33:05 +0000 (17:33 +0000)]
* config/powerpc/ppc-nw.mt (TDEPFILES): Removed exec.o.

30 years ago * elfcode.h (elf_map_symbols): Don't worry about section symbols
Ian Lance Taylor [Thu, 20 Oct 1994 17:32:33 +0000 (17:32 +0000)]
* elfcode.h (elf_map_symbols): Don't worry about section symbols
in a section not owned by any BFD.
(elf_section_from_bfd_section): Separate out loop which calls
backend routine.  Check bfd_section and call the backend routine
even for a section not owned by any BFD.
* elf32-mips.c (mips_elf_section_from_bfd_section): Handle
.acommon section.

30 years ago * Makefile.in (coffread.o): Depend on target.h.
Jim Kingdon [Thu, 20 Oct 1994 14:01:39 +0000 (14:01 +0000)]
* Makefile.in (coffread.o): Depend on target.h.
(remote-vx.o): Depend on gdb-stabs.h objfiles.h symfile.h $(bfd_h).

30 years ago * gas/hppa/reloc/blebug3.s: New test.
Jeff Law [Thu, 20 Oct 1994 06:56:55 +0000 (06:56 +0000)]
* gas/hppa/reloc/blebug3.s: New test.
* gas/hppa/reloc/reloc.exp: Run it.

30 years ago * config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
Jeff Law [Thu, 20 Oct 1994 06:45:55 +0000 (06:45 +0000)]
* config/tc-hppa.c (md_apply_fix): Set new_val to 8 for all
fixups to branch instructions (not just pc-relative ones) which
will generate SOM relocations.

30 years ago* TODO: Fix typo.
Jim Kingdon [Thu, 20 Oct 1994 05:52:41 +0000 (05:52 +0000)]
* TODO: Fix typo.

30 years ago * objfiles.c (objfile_relocate): When relocating ->sections, use
Jim Kingdon [Thu, 20 Oct 1994 05:15:46 +0000 (05:15 +0000)]
* objfiles.c (objfile_relocate): When relocating ->sections, use
objfile not symfile_objfile.

* symtab.h, minsyms.c (minsyms_sort): New function.
* objfiles.c (objfile_relocate): Call it.

* remote-vx.c (vx_add_symbols): Call breakpoint_re_set.

* objfiles.c, objfiles.h (objfile_to_front): New function.
* remote-vx.c (vx_add_symbols): Call it.

* coffread.c (coff_symtab_read): Handle common symbols the same
way that partial-stab.h does.

30 years ago * hppa-tdep.c: Remove include files a.out.h, ioctl.h, and
Rob Savoye [Thu, 20 Oct 1994 04:08:52 +0000 (04:08 +0000)]
    * hppa-tdep.c: Remove include files a.out.h, ioctl.h, and
machine/psl.h. These are host files.

30 years ago * objfiles.h (struct objfile): Fix comment--minimal_symbol_count
Jim Kingdon [Wed, 19 Oct 1994 22:17:38 +0000 (22:17 +0000)]
* objfiles.h (struct objfile): Fix comment--minimal_symbol_count
does *not* include the terminating NULL msymbol.

30 years ago * coffgen.c (coff_print_symbol): Make names for section number and
Jim Kingdon [Wed, 19 Oct 1994 20:49:03 +0000 (20:49 +0000)]
* coffgen.c (coff_print_symbol): Make names for section number and
storage class slightly more verbose.  It's not clear how many
characters I can justify using up, but before this change they
both were abbreviated "sc" which is (IMHO) clearly unacceptable.

30 years agoremoved i386-nlmstub.c
J.T. Conklin [Wed, 19 Oct 1994 18:41:25 +0000 (18:41 +0000)]
removed i386-nlmstub.c

30 years ago * Makefile.in (check): Add a dummy else clause to the if
Ian Lance Taylor [Wed, 19 Oct 1994 18:40:45 +0000 (18:40 +0000)]
* Makefile.in (check): Add a dummy else clause to the if
statement.

30 years ago * objcopy.c (copy_object): Revert yesterday's change.
Ian Lance Taylor [Wed, 19 Oct 1994 18:11:10 +0000 (18:11 +0000)]
* objcopy.c (copy_object): Revert yesterday's change.
* binutils.texi, objcopy.1: Remove special mention of --set-start
and `binary' output format.

30 years ago * binary.c (binary_set_section_contents): Set the base file
Ian Lance Taylor [Wed, 19 Oct 1994 18:08:42 +0000 (18:08 +0000)]
* binary.c (binary_set_section_contents): Set the base file
position from the lowest section VMA, not the start address.

30 years ago * config/tc-a29k.c: Include ctype.h with angle brackets.
Ian Lance Taylor [Wed, 19 Oct 1994 17:46:43 +0000 (17:46 +0000)]
* config/tc-a29k.c: Include ctype.h with angle brackets.
(define_some_regs): Add new special register names defined on the
29040.
(parse_operand): Add argument opt.  If non-zero, don't warn about
a missing operand.
(machine_ip): If handling argument type 'I', pass opt as non-zero
to parse_operand.  Handle new optional operand type 'I'.
(md_undefined_symbol): Handle special register names (srNN).

30 years ago * a29k-dis.c (print_special): Add special register names defined
Ian Lance Taylor [Wed, 19 Oct 1994 17:41:18 +0000 (17:41 +0000)]
* a29k-dis.c (print_special): Add special register names defined
on 29030, 29040 and 29050.
(print_insn): Handle new operand type 'I'.

30 years ago * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
Ian Lance Taylor [Wed, 19 Oct 1994 17:36:38 +0000 (17:36 +0000)]
* a29k.h: Add operand type 'I' for `inv' and `iretinv'.  On
systems with a separate instruction and data cache, such as the
29040, these instructions take an optional argument.

30 years ago * aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
Ian Lance Taylor [Wed, 19 Oct 1994 05:30:15 +0000 (05:30 +0000)]
* aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
if there are no symbols.
* coffgen.c (coff_get_normalized_symtab): Likewise.
* hp300hpux.c (MY(slurp_symbol_table)): Likewise.

30 years ago * monitor.c (monitor_load_srec,monitor_make_srec): Add an asrecord
Rob Savoye [Wed, 19 Oct 1994 03:02:17 +0000 (03:02 +0000)]
* monitor.c (monitor_load_srec,monitor_make_srec): Add an asrecord
loader that reads files using BFD and converts it on the fly.
* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.

30 years agoAdd a ^C to the init string.
Rob Savoye [Wed, 19 Oct 1994 03:00:29 +0000 (03:00 +0000)]
Add a ^C to the init string.

30 years agorebuilt dependencies
Ian Lance Taylor [Tue, 18 Oct 1994 21:42:41 +0000 (21:42 +0000)]
rebuilt dependencies

30 years ago * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
Ian Lance Taylor [Tue, 18 Oct 1994 19:59:52 +0000 (19:59 +0000)]
* ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
YY_CHAR *.

30 years ago * Makefile.in (all-binutils): Depend upon all-byacc.
Ian Lance Taylor [Tue, 18 Oct 1994 19:34:31 +0000 (19:34 +0000)]
* Makefile.in (all-binutils): Depend upon all-byacc.

30 years ago * configure.in: Don't build emacs on Irix 5.
Ian Lance Taylor [Tue, 18 Oct 1994 19:26:16 +0000 (19:26 +0000)]
* configure.in: Don't build emacs on Irix 5.

30 years ago * objcopy.c (copy_object): If the output file format is `binary',
Ian Lance Taylor [Tue, 18 Oct 1994 19:20:58 +0000 (19:20 +0000)]
* objcopy.c (copy_object): If the output file format is `binary',
and the start address was not set using --set-start, default the
start address to zero.  This hack is because the `binary' output
file format uses the start address to set the virtual address of
the first byte in the file.
* binutils.texi, objcopy.1: Add some notes on generating S-records
and binary files.

30 years ago * binary.c: New file for raw binary output format.
Ian Lance Taylor [Tue, 18 Oct 1994 18:51:01 +0000 (18:51 +0000)]
* binary.c: New file for raw binary output format.
* Makefile.in (BFD_LIBS): Add binary.o.
(CFILES): Add binary.c.
* targets.c (binary_vec): Declare.
(bfd_target_vector): Include binary_vec.

30 years ago * aout-target.h (MY_bfd_copy_private_section_data): Only copy
Ian Lance Taylor [Tue, 18 Oct 1994 18:49:34 +0000 (18:49 +0000)]
* aout-target.h (MY_bfd_copy_private_section_data): Only copy
subformat to another bfd_target_aout_flavour file.

30 years ago * srec.c (tdata_type): Add field tail.
Ian Lance Taylor [Tue, 18 Oct 1994 16:58:24 +0000 (16:58 +0000)]
* srec.c (tdata_type): Add field tail.
(srec_mkobject): Initialize tail.
(srec_set_section_contents): Sort S record list by address.

30 years ago * nm.c (print_symdef_entry): Call print_symname to print the
Ian Lance Taylor [Tue, 18 Oct 1994 16:03:05 +0000 (16:03 +0000)]
* nm.c (print_symdef_entry): Call print_symname to print the
symbol name, so that --demangle works.

30 years ago * Makefile.in (mostlyclean): Remove tmpdir.
Ian Lance Taylor [Tue, 18 Oct 1994 15:55:10 +0000 (15:55 +0000)]
* Makefile.in (mostlyclean): Remove tmpdir.

30 years ago * binutils-all/objcopy.exp: New file.
Ian Lance Taylor [Tue, 18 Oct 1994 15:51:03 +0000 (15:51 +0000)]
* binutils-all/objcopy.exp: New file.
* config/default.exp: Initialize OBJCOPY and OBJCOPYFLAGS.

30 years ago * objcopy.c (struct section_list): Add fields used, adjust, val.
Ian Lance Taylor [Tue, 18 Oct 1994 15:49:53 +0000 (15:49 +0000)]
* objcopy.c (struct section_list): Add fields used, adjust, val.
(adjust_start, set_start_set, set_start): New static variables.
(adjust_section_vma, adjust_sections): New static variables.
(copy_options): Add --adjust-start, --adjust-vma,
--adjust-section-vma, --adjust-warnings, --no-adjust-warnings,
--set-start.
(parse_vma): New static function.
(copy_usage): Mention new options.
(copy_object): Handle --set-start and --adjust-start.
(setup_section): Correct type of last argument to PTR.  Set used
field if section is removed.  Handle --adjust-vma and
--adjust-section-vma.
(copy_section): Correct type of last argument to PTR.
(mark_symbols_used_in_relocations): Likewise.
(strip_main): Clear used field when handling -R.
(copy_main): Handle new options.
* binutils.texi (objcopy): Document new options.
* objcopy.1: Document new options.

30 years ago * write.c (renumber_sections): New static BFD_ASSEMBLER function.
Ian Lance Taylor [Tue, 18 Oct 1994 04:46:45 +0000 (04:46 +0000)]
* write.c (renumber_sections): New static BFD_ASSEMBLER function.
(write_object_file): Call it after removing gas created sections.

30 years ago * monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
Rob Savoye [Tue, 18 Oct 1994 00:55:51 +0000 (00:55 +0000)]
* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.