Ian Lance Taylor [Fri, 22 Sep 1995 22:06:51 +0000 (22:06 +0000)]
Change arch info to be const, initialized at compile time.
* archures.c: Reindent many functions. Change CONST to const.
(bfd_arch_info_type): Make arch_name const. Remove disassemble;
nothing set it anyhow. Make next const.
(bfd_arch_info_list): Remove.
(bfd_archures_list): Rename from archures_init_table. Change from
a table of function pointers to a table of bfd_arch_info_type
structure addresses.
(bfd_scan_arch): Rewrite accordingly. Return a const pointer.
(bfd_lookup_arch): Likewise.
(bfd_set_arch_info): Rewrite accordingly. Change argument to be a
const pointer.
(bfd_default_arch_struct): Make const.
(bfd_arch_init, bfd_arch_linkin): Remove.
(bfd_get_arch_info): Return a const pointer.
* init.c (bfd_init): Don't call bfd_arch_init.
* bfd.c (struct _bfd): Make arch_info const.
* bfd-in2.h: Rebuild.
* libbfd.h: Rebuild.
* configure.in: Put & before everything in $selarchs.
* configure: Rebuild.
* cpu-*.c: Change bfd_*_arch from a function which calls
bfd_arch_linkin to a const structure.
* ieee.c (ieee_object_p): Make arch const.
David Edelsohn [Fri, 22 Sep 1995 19:21:08 +0000 (19:21 +0000)]
* cfg-ml-com.in (m68*-*-*): Only build multilibs for
embedded m68k systems (-aout, -coff, -elf, -vxworks).
(--with-multilib-top): Pass to recursive invocations.
Ian Lance Taylor [Tue, 19 Sep 1995 19:31:25 +0000 (19:31 +0000)]
* m68k-opc.c: Split pmove patterns which use 'P' into patterns
which use '0', '1', and '2' instead. Specify the proper size for
a pmove immediate operand. Correct the pmovefd patterns to be
moves to a register, not from a register.
* m68k-dis.c (print_insn_arg): Replace 'P' with '0', '1', '2'.
Ian Lance Taylor [Tue, 19 Sep 1995 15:36:38 +0000 (15:36 +0000)]
* config/tc-m68k.c (parse_mri_control_operand): Change leftstop
and rightstop to not be const.
(parse_mri_control_expression): Likewise.
(build_mri_control_operand): Likewise. Use m68k_ip_op to examine
the operand, not m68k_reg_parse.
(s_mri_if): In MRI mode, stop at the first '*'.
(s_mri_while): Likewise.
(s_mri_else): In MRI mode, ignore trailing characters.
(s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise.
(s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise.
* config/m68k-parse.y: Revert yesterday's change.
* config/m68k-parse.h: Revert yesterday's change.
Ian Lance Taylor [Mon, 18 Sep 1995 22:25:54 +0000 (22:25 +0000)]
* config/tc-m68k.c (parse_mri_control_operand): Change leftstart
and rightstart to not be const.
(parse_mri_control_expression): Likewise.
(build_mri_control_operand): Likewise. If the left side of the
comparison is a register, and the right side is not, swap the two
sides.
* config/m68k-parse.y (m68k_reg_parse): Make globally visible.
* config/m68k-parse.h (m68k_reg_parse): Declare.
Ian Lance Taylor [Mon, 18 Sep 1995 21:11:34 +0000 (21:11 +0000)]
* write.c (fixup_segment): Handle ABS-sym in -sym case rather than
sym-sym case.
* config/obj-coff.c (fixup_segment): Likewise. Permit negative
symbols if TC_M68K.
* config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return
R_RELLONG_NEG.
(tc_gen_reloc): If fx_tcbit is set, abort.
(md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy,
and set fx_tcbit.
Permits generating negative relocs for m68k COFF.
Ian Lance Taylor [Mon, 18 Sep 1995 18:57:59 +0000 (18:57 +0000)]
Based on patches by Alan Modra <[email protected]>:
* Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
(CXX_FOR_TARGET): Likewise.
(install): Likewise.
(GENERATED_HFILES): Remove config.h.
(.dep): Depend upon config.h.
Stu Grossman [Fri, 15 Sep 1995 02:36:10 +0000 (02:36 +0000)]
* gencode.c: Back up PC by 2 for breakpoints.
* interp.c: Move fp regs beyond pc/pr/etc to avoid confusing GDB,
which expect pc to immediatly follow regs[].
Kung Hsu [Thu, 14 Sep 1995 20:44:03 +0000 (20:44 +0000)]
* symfile.c: Move global variable auto_solib_add_at_startup from
solib.c to symfile.c.
* solib.c: ditto.
* symfile.h: Add extern declaration of the above mentioned variable.
* infcmd.c: Take out extern declaration, since it's in symfile.h.
Ian Lance Taylor [Thu, 14 Sep 1995 19:03:21 +0000 (19:03 +0000)]
Convert i960 COFF to use COFF backend linker.
* coff-i960.c (coff_i960_relocate): Use a coff_section_data
structure to store the symbol being used.
(coff_i960_start_final_link): New static function.
(coff_i960_relocate_section): New static function.
(coff_i960_adjust_symndx): New static function.
(coff_start_final_link): Define.
(coff_relocate_section): Define.
(coff_adjust_symndx): Define.
* coffcode.h (bfd_coff_backend_data): Add new callback function
_bfd_coff_start_final_link.
(bfd_coff_start_final_link): Define.
(coff_start_final_link): Define if not defined.
(bfd_coff_std_swap_table): Add coff_start_final_link.
* cofflink.c (_bfd_coff_internal_syment_name): Make globally
visible.
(_bfd_coff_final_link): Call bfd_coff_start_final_link if the
function callback is not NULL.
* libcoff-in.h (struct coff_section_tdata): Add tdata field.
(_bfd_coff_internal_syment_name): Declare.
* libcoff.h: Rebuild.
* configure.in (icoff_big_vec): Add cofflink.o.
(icoff_little_vec): Likewise.
* configure: Rebuild.
Ian Lance Taylor [Wed, 13 Sep 1995 22:38:55 +0000 (22:38 +0000)]
* objdump.c (start_address): New variable.
(stop_address): New variable.
(usage): Mention --start-address and --stop-address.
(OPTION_START_ADDRESS, OPTION_STOP_ADDRESS): Define.
(long_options): Add "start-address" and "stop-address".
(disassemble_data): Handle start_address and stop_address.
(dump_data, dump_reloc_set): Likewise.
(main): Don't set seenflag for -l. Handle OPTION_START_ADDRESS
and OPTION_STOP_ADDRESS.
* objcopy.c (parse_vma): Move to bucomm.c.
* bucomm.c (parse_vma): New function, moved in from objcopy.c.
* bucomm.h (parse_vma): Declare.
* binutils.texi, objdump.1: Document new objdump options.
PR 7983.
Ian Lance Taylor [Wed, 13 Sep 1995 20:35:17 +0000 (20:35 +0000)]
* Makefile.in (EXPECT): New variable.
(CHECKFLAGS): Remove.
(site.exp): New target.
(check): Rewrite to invoke runtest directly, rather than recurring
down into testsuite.
(clean-here): Remove testsuite directory.
(clean, distclean): Don't recur into testsuite.
* configure.in: Don't call AC_CONFIG_SUBDIRS(testsuite).
* configure: Rebuild.
Ian Lance Taylor [Wed, 13 Sep 1995 17:19:27 +0000 (17:19 +0000)]
* write.c (relax_and_size_seg): Change to the segment we are
relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
wants to call fix_new.
* config/tc-m68k.c (m68k_ip): Permit PC relative code if the
segment of the symbol is the current segment, not just in
text_section.
(md_convert_frag_1): Don't call subseg_change.
(md_estimate_size_before_relax): Likewise.
Jeff Law [Wed, 13 Sep 1995 14:50:51 +0000 (14:50 +0000)]
* somsolib.c (auto_solib_add_at_startup): Define new global variable.
(som_solib_create_inferior_hook): Don't add libraries if
auto_solib_add_at_startup is zero.
(_initialize_som_solib): Add command to toggle
auto_solib_add_at_startup.
Ian Lance Taylor [Tue, 12 Sep 1995 22:16:14 +0000 (22:16 +0000)]
* Makefile.in (do_maintainer_clean): Rename from do_realclean.
(maintainer-clean): Rename from realclean, passing
maintainer-clean down to subdirectories, but leave realclean as a
synonym.
Ian Lance Taylor [Tue, 12 Sep 1995 22:05:08 +0000 (22:05 +0000)]
* Makefile.in (DO_X): Change do-realclean to do-maintainer-clean.
(local-maintainer-clean): New target.
(maintainer-clean): New target.
(realclean): Just depend upon maintainer-clean.
Ian Lance Taylor [Tue, 12 Sep 1995 20:34:49 +0000 (20:34 +0000)]
* ldmain.c (struct warning_callback_info): Define.
(warning_callback): Add new parameter symbol. Call
warning_find_reloc to try to find the section and VMA.
(warning_find_reloc): New static function.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Pass NULL as symbol parameter to warning callback.
* coffcode.h (coff_compute_section_file_positions): Keep the
raw size safe.
(coff_write_object_contents): Remember if it's a relocatable
file.
* libcoff-in.h (pe_data_type): New member 'has_reloc_section'
* peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
if relocatable file. Swap out saved raw size.
Ian Lance Taylor [Tue, 12 Sep 1995 18:59:24 +0000 (18:59 +0000)]
* sunos.c (sunos_slurp_dynamic_symtab): New static function,
broken out of sunos_canonicalize_dynamic_symtab.
(sunos_canonicalize_dynamic_symtab): Call new function
sunos_slurp_dynamic_symtab.
(sunos_add_dynamic_symbols): Add three new parameters. Return the
dynamic symbol table to the caller.
* aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
callback to override the symbols being read.
* libaout.h (struct aout_backend_data): Add three new parameters
to add_dynamic_symbols callback.
Ian Lance Taylor [Tue, 12 Sep 1995 16:23:25 +0000 (16:23 +0000)]
Extensive minor changes to avoid various gcc warnings. Also:
* Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
* archures.c (bfd_arch_info_type): Change mach field from long to
unsigned long.
(bfd_lookup_arch): Change machine parameter from long to unsigned
long.