opcodes:
* sh-opc.c (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
stc GBR,@-<REG_N> is available for arch_sh1_up.
Group parallel processing insn with identical mnemonics together.
Make three-operand psha / pshl come first.
gas:
* config/tc-sh.c (get_operands): There's no third operand if the
first operand is an immediate.
* sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
(sh_arg_type): Add A_PC.
(sh_table): Update entries using immediates. Add repeat.
* sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
gas:
* config/tc-sh.c (immediate): Delete.
(sh_operand_info): Add immediate member.
(parse_reg): Use A_PC for pc.
(parse_exp): Add second argument 'op'. All callers changed.
(parse_at): Expect pc to be coded as A_PC.
Use immediate field in *op.
(insert): Add fourth argument 'op'. All callers changed.
(build_relax): Add second argument 'op'. All callers changed.
(insert_loop_bounds): New function.
(build_Mytes): Remove DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
(assemble_ppi): Use immediate field in *operand.
(sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}.
(md_apply_fix): Likewise.
(tc_gen_reloc): Likewise. Check for a pcrel BFD_RELOC_SH_LABEL.
include/coff:
* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
include/elf:
* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
bfd:
* reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
BFD_RELOC_SH_LOOP_END.
* elf32-sh.c (sh_elf_howto_tab): Change special_func to
sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
(sh_elf_reloc_loop): New function.
(sh_elf_reloc): No need to test for always-to-be-ignored relocs
any more.
(sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
(sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
* bfd-in2.h, libbfd.h: Regenerate.
Jim Blandy [Wed, 5 Apr 2000 20:40:22 +0000 (20:40 +0000)]
* solib.c (update_solib_list): New function.
(solib_add): Call update_solib_list, and then read symbols.
(info_sharedlibrary_command): Call update_solib_list, not
solib_add.
Scott Bambrough [Wed, 5 Apr 2000 17:24:08 +0000 (17:24 +0000)]
2000-04-05 Scott Bambrough <scottb@netwinder.org>
* arm-linux-tdep.c: Resolve implicit function declarations by
including target.h and value.h. Inclusion of symtab.h is
no longer needed.
* ChangeLog: Fix formatting of previous entry.
Scott Bambrough [Wed, 5 Apr 2000 15:38:05 +0000 (15:38 +0000)]
Unable to build x86 hosted debugger for ARM Linux, due to missing target
dependencies. Created ARM Linux specific arm-linux-tdep.c file and moved
missing code into it from arm-linux-nat.c.
2000-04-05 Scott Bambrough <scottb@netwinder.org>
* arm-linux-tdep.c: New file.
* arm-linux-nat.c (fetch_fpregs): Remove unused code.
(arm_get_longjmp_target): Moved it and all defines
it uses to arm-linux-tdep.c.
(arm_linux_extract_return_value): Moved to
arm-linux-tdep.c.
* config/arm/linux.mt: Add arm-linux-tdep.c to TDEPFILES.
* config/tc-mn10300.c (md_pseudo_table): Use constant names.
(md_begin): Likewise.
(HAVE_AM33): New macro.
(md_assemble): Use it. Match r_regs and xr_regs only if
HAVE_AM33.
Jim Blandy [Mon, 3 Apr 2000 17:45:17 +0000 (17:45 +0000)]
* solib.c (solib_add): Move all the code for loading symbol tables
below the code to sort out additions and removals. That way, we
always catch all loaded shared libraries whose symbols we haven't
grabbed yet.
* solib.c (solib_add): Don't try to free a shared object's objfile
if it doesn't have one. Duh.
* solib.c (solib_add): If a pattern was given, but it doesn't
match any currently loaded shared libraries, print a message;
don't just be silent.
* config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove
definition (and use the common one in tm-i386.h).
(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise.
(I386_DJGPP_TARGET): Don't define, it's no longer required.
(LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition,
i386-tdep.c defines it for all x86 targets.
(LD_I387, HEX_LONG_DOUBLE_INPUT): Remove.
* aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
BFD_RELOC_16 to switch for extended relocs.
(MY_swap_ext_reloc_in): New.
(MY_swap_ext_reloc_out): New.
(NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
than NAME(aout,swap_ext_reloc_in) for extended relocs.
(NAME(aout,squirt_out_relocs)): Similarly use
MY_swap_ext_reloc_out.
(aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
Nicholas Duffek [Mon, 3 Apr 2000 03:39:09 +0000 (03:39 +0000)]
* gdbtypes.c (safe_parse_type): New wrapper function to ignore
error() during parse_and_eval_type().
(check_stub_method): Call safe_parse_type instead of
parse_and_eval_type().
* wrapper.c (gdb_parse_and_eval_type): New wrapper function.
(wrap_parse_and_eval_type): New support function.
* wrapper.h (gdb_parse_and_eval_type): Prototype.
(wrap_parse_and_eval_type): Prototype.
* gdbarch.c, gdbarch.sh: Include "gdbarch-utils.h". Fix code
handling default method values.
(startup_gdbarch): Rename default_gdbarch, name misleading.
(breakpoint_from_pc): Default to legacy_breakpoint_from_pc.
(register_name): Default to legacy_register_name.
(call_dummy_words): Default to legacy_call_dummy_words.
(sizeof_call_dummy_words): Default to
legacy_sizeof_call_dummy_words.
(register_convertible): Default to
generic_register_convertible_not.
(breakpoint_from_pc): Default to legacy_breakpoint_from_pc.
(remote_translate_xfer_address): Default to
generic_remote_translate_xfer_address.
(frameless_function_invocation): Default to
generic_frameless_function_invocation_not.
* config/tc-d30v.c (check_range): Allow signed or unsigned 32-bit
quantities. Correct right shift sign extension.
(build_insn): Make `number' unsigned long. Mask top 6 bits of
32-bit value when shifting into place.
* gas/mn10300/am33_5.s: Check that negative SP offsets are encoded
with 32 bits, not with the unsigned shorter opcodes.
* gas/mn10300/basic.exp: Likewise.
* gdb.base/call-ar-st.c (init_small_structs, main): Use floating-point
values that can be represented exactly.
* gdb.base/call-ar-st.exp (print print_small_structs): Fixed to match
above change, and to not check against the directory part of the source
file name.
(step into print_long_arg_list): Likewise.
(print print_small_structs from print_long_arg_list): Likewise.
(print print_long_arg_list): Likewise.
Doug Evans [Thu, 30 Mar 2000 22:16:39 +0000 (22:16 +0000)]
* elf32-m32r.c (m32r_elf_generic_reloc): new function. All
HOWTO references to bfd_elf_generic_reloc, that have
partial_inplace == true, now use the new function. The function
is based on the recent rewrite of m32r_elf_lo16_reloc(), and
extends its fixes to the R_M32R_{16,24,32} relocs.
The new logic in m32r_elf_lo16_reloc() has been removed, and
it instead calls the new routine to obtain that functionality.
Dave Brolley [Thu, 30 Mar 2000 20:21:37 +0000 (20:21 +0000)]
2000-03-23 Dave Brolley <brolley@redhat.com>
* cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to
ftruncdfsf.
* cgen-accfp.c (fextsfdf): New function.
(ftruncdfsf): New function.
(cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf.
Fernando Nasser [Thu, 30 Mar 2000 20:15:35 +0000 (20:15 +0000)]
2000-03-30 Fernando Nasser <fnasser@cygnus.com>
* wrapper.c (gdb_value_subscript, wrap_value_subscript): New functions.
Safe version of value_subscript.
* varobj.c (): Use gdb_value_subscript() to get an array element value.
Michael Snyder [Thu, 30 Mar 2000 19:52:35 +0000 (19:52 +0000)]
2000-03-30 Michael Snyder <msnyder@cleaver.cygnus.com>
* ui-file.c: Include "gdb_string.h"
* cli-out.c: Include gdb_string.h to avoid compiler warnings.
* wrapper.[ch] (struct gdb_wrapper_arguments): Change fields into
unions, since they are all used to hold both pointers and ints
at various times. Casting pointer to int and vice versa gives
warnings (and is not safe) if they are not the same size.
Michael Snyder [Thu, 30 Mar 2000 18:54:28 +0000 (18:54 +0000)]
2000-03-30 Michael Snyder <msnyder@cleaver.cygnus.com>
* defs.h (struct continuation_arg): make 'data' a union, to avoid
casting problems when int and pointer are not the same size.
* event-top.c (command_handler): use data as a union.
(command_line_handler_continuation): ditto.
* infcmd.c (step_1_continuation): use data as a union. Re-indent.
(step_once): ditto. (finish_command_continuation): ditto.
(finish_command): ditto.
* breakpoint.c (until_break_command): use data as a union.
(until_break_command_continuation): ditto.
* utils.c (add_intermediate_continuation): fix typo in comment.