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.
Fred Fish [Mon, 11 Sep 1995 23:49:34 +0000 (23:49 +0000)]
* gdb.base/scope.exp (text_at_main): Add "hppa*-*-hpux*"
xfails when not gcc compiled for "print foo::funclocal".
(test_at_foo): Add "hppa*-*-hpux*" xfails when not gcc compiled for:
"print foo::funclocal at foo",
"print 'scope1.c'::foo::funclocal at foo",
"print foo::funclocal_bss at foo",
"print 'scope1.c'::foo::funclocal_bss at foo",
"print foo::funclocal_ro at foo",
"print 'scope1.c'::foo::funclocal_ro at foo",
"print bar::funclocal at foo" and
"print 'scope1.c'::bar::funclocal at foo".
(test_at_bar): Add "hppa*-*-hpux*" xfails when not
gcc compiled for "print foo::funclocal at bar".
Expand all messages to ensure that they identify that
the test is at bar().
* gdb.base/opaque.exp: Add "hppa*-*-hpux*" xfails when not
gcc compiled for:
"ptype on opaque struct pointer (statically)",
"ptype on opaque struct tagname (statically)",
"ptype on opaque struct pointer (dynamically) 1",
"ptype on opaque struct tagname (dynamically) 1",
"ptype on opaque struct pointer (dynamically) 2" and
"ptype on opaque struct tagname (dynamically) 2
* gdb.base/nodebug.exp: Add "hppa*-*-hpux*" xfails when not
gcc compiled for:
"p datalocal"
"whatis datalocal",
"ptype datalocal",
"p bsslocal",
"whatis bsslocal", and
"ptype bsslocal".
* gdb.base/langs.exp: Add "hppa*-*-hpux*" xfails for
"backtrace in langs.exp" and "up to langs0__2do in langs.exp"
when not gcc compiled.
* gdb.base/funcargs.exp (float_and_integral_args): Add
"hppa*-*-hpux*" xfail for "run to call2a" when not gcc
compiled.
(discard_and_shuffle): Add "hppa*-*-hpux*" xfail for
"backtrace from call6a" when not gcc compiled.
(shuffle_round_robin): Add "hppa*-*-hpux*" xfail for
"backtrace from call7a" when not gcc compiled.
* gdb.base/callfuncs.exp (do_function_calls):
Add "hppa*-*-hpux*" xfail when not gcc compiled for
"p t_char_array_values(char_array_val2,char_array_val1)",
"p t_char_array_values(char_array_val1,char_array_val2)",
"p t_char_array_values("carray 1","carray 2")",
"p t_char_array_values("carray 1",char_array_val2)",
"p t_char_array_values(char_array_val1,"carray 2")",
"p sum_args(1,{2})",
"p sum_args(2,{2,3})",
"p sum_args(3,{2,3,4})",
"p sum_args(4,{2,3,4,5})"
* gdb.base/corefile.exp: Add "hppa*-*-hpux*" xfail for
"backtrace in corefile.exp" when not gcc compiled.
Ian Lance Taylor [Mon, 11 Sep 1995 18:34:55 +0000 (18:34 +0000)]
* app.c (do_scrub_chars): Grab all available spaces at start of
line before preserving a single space. Remove state == 0 test
which will never succeed.
* macro.c (macro_expand_body): Delete local variables from the
formal hash table.
(macro_expand): In MRI mode, stop when whitespace is seen in the
argument list.
* tm-ppc-eabi.h (PC_IN_CALL_DUMMY): Redefine this to work with the
simulator. FIXME.
* rs6000-tdep.c (push_dummy_frame): Calculate the correct link
register offset from the current frame (don't assume it is always 8).
(push_dummy_frame): Add comment about having only 4096 bytes of
stack space in the simulator (by default).
* remote-sim.c (gdbsim_create_inferior): Call
`add_text_to_loadinfo' so that gdb can find TOC entries when
calling functions in the inferior.
With this changes, it is now possible to correctly call inferior
functions in the PPC simulator.
Peter Schauer [Sat, 9 Sep 1995 15:24:18 +0000 (15:24 +0000)]
* stabsread.c (read_enum_type): Exit loop for putting pending
enum symbols into the enum type correctly if we had no pending
symbols on entry to read_enum_type.
Peter Schauer [Sat, 9 Sep 1995 08:38:40 +0000 (08:38 +0000)]
* gdb.base/signals.exp: Rewrite `handle all print' test as
a procedure. Accept blanks or TABs as whitespace, increase
timeout and expect input buffer size for the large output
from the command. Remove "i*86-*-bsdi2.0" xfail.
Kung Hsu [Sat, 9 Sep 1995 00:26:46 +0000 (00:26 +0000)]
* inferior.h: Add extern declaration of inferior_environ.
* solib.c (solib_map_sections): To get inferior's env instead of
gdb's for LD_LIBRARY_PATH, same for PATH.
Add Linux style directory searching.
* configure.tgt: Add i386lelf to targ_extra_emuls for
i[345]86-*-linuxaout* and i[345]86-*-linuxoldld. For
i[345]86-*-linux*, set targ_emul to i386lelf, and add elf_i386 to
targ_extra_emuls.
* emulparams/i386lelf.sh: New file, a copy of elf_i386.sh.
* emultempl/elf32.em: If TARGET_IS_i386lelf, use autoconf
recommended mechanism to define DIR and struct dirent.
(libcmp): New static function use only when TARGET_IS_i386lelf.
(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
* Makefile.in (ALL_EMULATIONS): Add ei386lelf.o
(ei386lelf.c): New target.
* configure.in: Call AC_HEADER_DIRENT.
* configure, config.in: Rebuild.
* emultempl/sunos.em: Use autoconf recommend mechanism to define
DIR and struct dirent.
* app.c (do_scrub_chars): In MRI mode, keep a space before a
possible comment character.
* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
an instruction which takes no operands.