Michal Ludvig [Mon, 27 May 2002 13:39:15 +0000 (13:39 +0000)]
Fixed date in my last ChangeLog entry
Michal Ludvig [Mon, 27 May 2002 13:37:39 +0000 (13:37 +0000)]
2002-05-24 Michal Ludvig <mludvig@suse.cz>
* x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete note.
Let PC point right after the prologue before looking up symbols.
Nick Clifton [Mon, 27 May 2002 13:30:36 +0000 (13:30 +0000)]
Thumb BL instruction: Do not set LR to pc + 2, it has already been advanced.
Martin Hunt [Mon, 27 May 2002 09:17:24 +0000 (09:17 +0000)]
2002-05-27 Martin M. Hunt <hunt@redhat.com>
* i386-tdep.c (i386_register_virtual_type): Return
builtin_type_vec128i for SSE registers.
* gdbtypes.h (builtin_type_vec128i): Declare.
* gdbtypes.c (build_builtin_type_vec128i): New function.
(builtin_type_v2_double, builtin_type_v4_int64): New types.
(builtin_type_vec128i): New type for SSE2 128-bit registers.
(build_gdbtypes): Initialize new builtin vector types.
(_initialize_gdbtypes): Register new vector types with gdbarch.
Alan Modra [Mon, 27 May 2002 08:40:35 +0000 (08:40 +0000)]
* unwind-ia64.c (unw_print_brmask): Don't use sprintf.
(unw_print_grmask): Likewise.
(unw_print_frmask): Likewise.
Richard Sandiford [Mon, 27 May 2002 08:22:08 +0000 (08:22 +0000)]
* ldlang.c (lang_size_sections_1): Move check for conflicting load
addresses and regions from here...
(lang_get_regions): ...to this new function.
(lang_leave_output_section_statement): Use lang_get_regions.
(lang_leave_overlay): Likewise.
* mri.c (mri_draw_tree): Pass null as last argument to
lang_leave_output_section_statement.
* emultempl/elf32.em (gld*_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
* emultempl/pe.em (gld*_place_orphan): Likewise.
Michael Chastain [Mon, 27 May 2002 02:03:35 +0000 (02:03 +0000)]
2002-05-26 Michael Chastain <mec@shout.net>
* gdb.base/call-rt-st.exp: Fix typo in brace quoting.
Jason Thorpe [Mon, 27 May 2002 01:13:12 +0000 (01:13 +0000)]
* MAINTAINERS: ns32k is not longer an obsolete candidate,
since it has been multi-arch'd.
* NEWS: Note that ns32k-*-* is now partial multi-arch.
Move Alpha and VAX multi-arch news entries to same section
as other multi-arch news.
Jason Thorpe [Mon, 27 May 2002 01:05:16 +0000 (01:05 +0000)]
* ns32k-tdep.c: include gdbtypes.h, inferior.h, regcache.h,
target.s, arch-utils.h, ns32k-tdep.h. Make many functions
static. Rename some register numbers to put them in ns32k-tdep
private namespace.
(ns32k_get_saved_register, ns32k_gdbarch_init_32082,
ns32k_gdbarch_init_32382, ns32k_gdbarch_init, ns32k_dump_tdep): New
functions.
(_initialize_ns32k_tdep): Use gdbarch_register.
* ns32k-tdep.h: New file.
* ns32knbsd-tdep.c: New file.
* config/ns32k/nbsdaout.mt (TDEPFILES): Add ns32knbsd-tdep.o.
* config/ns32k/tm-nbsd.h: Include "ns32k/tm-ns32k.h".
(IN_SOLIB_CALL_TRAMPOLINE, REGISTER_NAME, NUM_REGS,
REGISTER_BYTES, REGISTER_BYTE): Remove.
* config/ns32k/tm-ns32k.h: New file.
* config/ns32k/tm-umax.h: Remove.
gdbadmin [Mon, 27 May 2002 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 27 May 2002 00:00:06 +0000 (00:00 +0000)]
daily update
Jason Thorpe [Sun, 26 May 2002 23:06:08 +0000 (23:06 +0000)]
* ns32k-tdep.c (ns32k_saved_pc_after_call,
ns32k_store_struct_return, ns32k_extract_return_value,
ns32k_store_return_value, ns32k_extract_struct_value_address): New
functions.
* config/ns32k/tm-umax.h (SAVED_PC_AFTER_CALL): Define as
ns32k_saved_pc_after_call.
(STORE_STRUCT_RETURN): Define as ns32k_store_struct_return.
(EXTRACT_RETURN_VALUE): Define as ns32k_extract_return_value.
(STORE_RETURN_VALUE): Define as ns32k_store_return_value.
(EXTRACT_STRUCT_VALUE_ADDRESS): Define as
ns32k_extract_struct_value_address.
Jason Thorpe [Sun, 26 May 2002 22:27:01 +0000 (22:27 +0000)]
* ns32k-tdep.c (ns32k_call_dummy_words, sizeof_ns32k_call_dummy_words,
ns32k_fix_call_dummy): New.
* config/ns32k/tm-umax.h (CALL_DUMMY_WORDS): Define as
ns32k_call_dummy_words.
(SIZEOF_CALL_DUMMY_WORDS): Define as sizeof_ns32k_call_dummy_words.
(CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_ADDR,
CALL_DUMMY_NARGS): Remove.
(FIX_CALL_DUMMY): Define as ns32k_fix_call_dummy.
Jason Thorpe [Sun, 26 May 2002 20:31:06 +0000 (20:31 +0000)]
* ns32k-tdep.c (ns32k_breakpoint_from_pc, ns32k_frame_chain,
ns32k_frame_saved_pc, ns32k_frame_args_address,
ns32k_frame_locals_address, ns32k_frame_init_saved_regs,
ns32k_push_dummy_frame, ns32k_pop_frame): New functions.
* config/ns32k/tm-nbsd.h (FRAME_SAVED_PC): Remove.
* config/ns32k/tm-umax.h (INNER_THAN): Define as core_addr_lessthan.
(BREAKPOINT_FROM_PC): Define as ns32k_breakpoint_from_pc.
(BREAKPOINT): Remove..
(FRAME_CHAIN): Define as ns32k_frame_chain.
(FRAME_SAVED_PC): Define as ns32k_frame_saved_pc.
(FRAME_ARGS_ADDRESS): Define as ns32k_frame_args_address.
(FRAME_LOCALS_ADDRESS): Define as ns32k_frame_locals_address.
(FRAME_FIND_SAVED_REGS): Remove.
(FRAME_INIT_SAVED_REGS): Define as ns32k_frame_init_saved_regs.
(PUSH_DUMMY_FRAME): Define as ns32k_push_dummy_frame.
(POP_FRAME): Define as ns32k_pop_frame.
Thiemo Seufer [Sun, 26 May 2002 18:46:37 +0000 (18:46 +0000)]
* config/tc-mips.c (mips_emit_delays): Replace magic constant for RA
by the define. Remove superfluous check of mips_opts.mips16.
(append_insn): Likewise. Canonicalize variable increments.
(macro_build): Canonicalize variable increments.
(macro_build_lui): Likewise.
(load_register): Likewise.
(load_address): Move pointer initialization.
(macro): Move pointer to a more local scope. Canonicalize variable
increments. Better comments. Replace magic constant for RA by the
define.
(macro2): Replace magic constant for RA by the define. Canonicalize
variable increments.
(mips_ip): Canonicalize variable increments.
(mips16_ip): Replace magic constant for RA by the define.
(my_getSmallParser): Canonicalize variable increments/decrements.
(my_getPercentOp): Likewise.
(my_getSmallExpression): Likewise.
(s_align): Likewise.
(s_mipsset): Likewise.
(s_cpsetup): Likewise.
(s_insn): Remove superfluous check of mips_opts.mips16.
(s_mips_stab): Likewise.
(mips_handle_align): Canonicalize variable increments.
(s_mips_ent): Likewise.
(s_mips_end): Add comment.
Jason Thorpe [Sun, 26 May 2002 17:59:39 +0000 (17:59 +0000)]
* ns32k-tdep.c (ns32k_register_byte_32082,
ns32k_register_byte_32382, ns32k_register_raw_size,
ns32k_register_virtual_size, ns32k_register_virtual_type): New
functions.
* config/ns32k/tm-nbsd.h (REGISTER_BYTE): Define as
ns32k_register_byte_32382.
* config/ns32k/tm-umax.h: Update copyright years.
(REGISTER_BYTE): Define as ns32k_register_byte_32082.
(REGISTER_RAW_SIZE): Define as ns32k_register_raw_size.
(REGISTER_VIRTUAL_SIZE): Define as ns32k_register_virtual_size.
(REGISTER_VIRTUAL_TYPE): Define as ns32k_register_virtual_type.
(ns32k_get_enter_addr): Fix prototype.
Kazu Hirata [Sun, 26 May 2002 14:55:04 +0000 (14:55 +0000)]
* arsup.c: Remove ARGSUSED.
* debug.c: Likewise.
* ieee.c: Likewise.
* nlmconv.c: Likewise.
* prdbg.c: Likewise.
* stabs.c: Likewise.
* wrstabs.c: Likewise.
Jason Thorpe [Sun, 26 May 2002 09:29:36 +0000 (09:29 +0000)]
* ns32k-tdep.c: Update copyright years.
(ns32k_register_name_32082): New function.
(ns32k_register_name_32382): Ditto.
* config/ns32k/tm-nbsd.h (REGISTER_NAMES): Remove.
(REGISTER_NAME): Define as ns32k_register_name_32382.
* config/ns32k/tm-umax.h (REGISTER_NAMES): Remove.
(REGISTER_NAME): Define as ns32k_register_name_32082.
Jason Thorpe [Sun, 26 May 2002 05:04:53 +0000 (05:04 +0000)]
gas:
* configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
* configure: Regenerate.
ld:
* configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
gdbadmin [Sun, 26 May 2002 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 26 May 2002 00:00:05 +0000 (00:00 +0000)]
daily update
Kazu Hirata [Sat, 25 May 2002 20:39:25 +0000 (20:39 +0000)]
* ldemul.c: Fix formatting.
* ldfile.c: Likewise.
* pe-dll.c: Likewise.
* pe-dll.h: Likewise.
Alan Modra [Sat, 25 May 2002 13:10:11 +0000 (13:10 +0000)]
* ldlang.c (lang_process): Formatting, grammar.
Alan Modra [Sat, 25 May 2002 13:09:37 +0000 (13:09 +0000)]
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
Alan Modra [Sat, 25 May 2002 12:55:19 +0000 (12:55 +0000)]
* Makefile.am (sh-dis.lo): Don't put make commands in deps.
* Makefile.in: Regenerate.
* arc-dis.c: Use #include "" instead of <> for local header files.
* m68k-dis.c: Likewise.
Alan Modra [Sat, 25 May 2002 12:54:12 +0000 (12:54 +0000)]
* ldlex.l: Use #include "" instead of <> for local header files.
Alan Modra [Sat, 25 May 2002 12:53:48 +0000 (12:53 +0000)]
* ia64.h: Use #include "" instead of <> for local header files.
* sparc.h: Likewise.
Alan Modra [Sat, 25 May 2002 12:53:29 +0000 (12:53 +0000)]
* Makefile.am (OBJS): Depend on ansidecl.h and fopen-same.h.
* Makefile.in: Regenerate.
* dep-in.sed: Reorder to match OBJS in Makefile.am.
* configure.in (ALL_OBJ_DEPS): Add symcat.h when need_bfd.
* configure: Regenerate.
* as.h: Use #include "" instead of <> for local header files.
* flonum-konst.c: Likewise.
* flonum-mult.c: Likewise.
* gasp.c: Likewise.
* listing.c: Likewise.
* config/tc-ia64.h: Likewise.
* config/tc-v850.h: Likewise.
Alan Modra [Sat, 25 May 2002 12:51:38 +0000 (12:51 +0000)]
* arlex.l: Use #include "" instead of <> for local header files.
* coffdump.c: Likewise.
* coffgrok.c: Likewise.
* nlmconv.c: Likewise.
* nlmheader.y: Likewise.
* srconv.c: Likewise.
* strings.c: Likewise.
* sysdump.c: Likewise.
* unwind-ia64.h: Likewise.
* windres.h: Likewise.
* winduni.h: Likewise.
Alan Modra [Sat, 25 May 2002 12:50:18 +0000 (12:50 +0000)]
* chew.c: Use #include "" instead of <> for local header files.
Alan Modra [Sat, 25 May 2002 10:13:23 +0000 (10:13 +0000)]
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
(ppc64_elf_check_relocs): Don't set up function descriptor symbol
strings to point inside function code sym string.
(func_desc_adjust): Likewise.
(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
gdbadmin [Sat, 25 May 2002 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 25 May 2002 00:00:06 +0000 (00:00 +0000)]
daily update
Jim Blandy [Fri, 24 May 2002 19:41:45 +0000 (19:41 +0000)]
* dwarf2read.c (free_line_header): Use xfree, not free.
Tom Rix [Fri, 24 May 2002 19:29:07 +0000 (19:29 +0000)]
Add self as d10v maintainer.
Michal Ludvig [Fri, 24 May 2002 14:25:08 +0000 (14:25 +0000)]
2002-05-24 Michal Ludvig <mludvig@suse.cz>
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
(elf64_x86_64_grok_psinfo): Added.
Nick Clifton [Fri, 24 May 2002 09:26:58 +0000 (09:26 +0000)]
Add a target for i386-netbsdpe.
Jason Thorpe [Fri, 24 May 2002 04:48:22 +0000 (04:48 +0000)]
* config/djgpp/fnchange.lst: Add alphabsd-nat.c,
alphabsd-tdep.c, mipsnbsd-nat.c, and mipsnbsd-tdep.c
Alan Modra [Fri, 24 May 2002 04:07:38 +0000 (04:07 +0000)]
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
and is_func_descriptor.
(func_desc_adjust): Hide function code sym in shared libs unless
there is a matching exported function descriptor sym.
Tom Rix [Fri, 24 May 2002 03:05:50 +0000 (03:05 +0000)]
New d10v tests.
Andrew Cagney [Fri, 24 May 2002 02:56:56 +0000 (02:56 +0000)]
* PROBLEMS: Mention s390 and FreeBSD 4.4 build problems.
Andrew Cagney [Fri, 24 May 2002 02:50:01 +0000 (02:50 +0000)]
From Ross Alexander at NEC Europe:
* config/pa/hpux11w.mh (NATDEPFILES): Add solib.o.
Michael Snyder [Fri, 24 May 2002 01:25:52 +0000 (01:25 +0000)]
2002-05-23 Michael Snyder <msnyder@redhat.com>
* cli/cli-dump.c (restore_command): Use parse_and_eval_long
for input, rather than parse_and_eval_address.
Kazu Hirata [Fri, 24 May 2002 00:33:36 +0000 (00:33 +0000)]
* size.c: Fix formatting.
* srconv.c: Likewise.
* stabs.c: Likewise.
* sysdump.c: Likewise.
* unwind-ia64.c: Likewise.
* wrstabs.c: Likewise.
Andrew Cagney [Fri, 24 May 2002 00:12:18 +0000 (00:12 +0000)]
* sim-d10v.h: Delete file. Moved to include/gdb/.
* sim-d10v.h: New file. Moved from include/sim-d10v.h.
* Makefile.in (INCLUDE): Add "gdb/sim-d10v.h".
* interp.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* d10v-tdep.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* Makefile.in (sim_d10v_h): Update definition.
gdbadmin [Fri, 24 May 2002 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 24 May 2002 00:00:06 +0000 (00:00 +0000)]
daily update
Andrew Cagney [Thu, 23 May 2002 23:53:56 +0000 (23:53 +0000)]
* d10v-tdep.c (d10v_gdbarch_init): Revert old code included in
change `2002-05-22 Michael Snyder' below.
(d10v_push_arguments): Ditto.
(d10v_extract_return_value): Ditto.
Jim Blandy [Thu, 23 May 2002 23:27:42 +0000 (23:27 +0000)]
* macrotab.c (check_for_redefinition): Don't complain if the new
definition is the same as the previous one. Take more arguments
to allow the comparison.
(macro_define_object, macro_define_function): Pass more arguments
to check_for_redefinition.
Michael Snyder [Thu, 23 May 2002 21:25:42 +0000 (21:25 +0000)]
2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
* lib/gdb.exp (gdb_wrapper_init): Just because
gdb_wrapper_file exists, this does not mean that the file
should not be rebuilt. That is what gdb_wrapper_initialized
is for.
(default_gdb_init): Reset gdb_wrapper_initialized.
Michael Snyder [Thu, 23 May 2002 21:20:53 +0000 (21:20 +0000)]
2002-05-23 Michael Snyder <msnyder@redhat.com>
* gdb.base/all-bin.exp: Revise previous patch by just reducing
the precision of the floating point test results.
* gdb.base/call-rt-st.exp: Ditto.
H.J. Lu [Thu, 23 May 2002 17:25:22 +0000 (17:25 +0000)]
2002-05-23 H.J. Lu <hjl@gnu.org>
* gas/mips/elf-rel.d: Skip the padding.
* gas/mips/elfel-rel.d: Likewise.
H.J. Lu [Thu, 23 May 2002 17:17:13 +0000 (17:17 +0000)]
Don't match "A-F".
H.J. Lu [Thu, 23 May 2002 17:12:49 +0000 (17:12 +0000)]
2002-05-23 H.J. Lu <hjl@gnu.org>
* gas/all/align2.d: New.
* gas/all/align2.s: New.
* gas/all/gas.exp: Run align2.
Michael Snyder [Thu, 23 May 2002 15:52:01 +0000 (15:52 +0000)]
2002-05-22 Michael Snyder <msnyder@redhat.com>
* d10v-tdep.c: Change a few macros to enums for ease of debugging.
(d10v_frame_chain_valid): Add PC_IN_CALL_DUMMY clause.
(d10v_frame_saved_pc): Add PC_IN_CALL_DUMMY clause.
(d10v_frame_chain): Bail immediately if PC_IN_CALL_DUMMY.
Don't bail if return_pc is PC_IN_CALL_DUMMY.
Add a temp variable to save a call (and a memory read).
(d10v_init_extra_frame_info): Get fi->pc from callee's return_pc
if possible (so that PC_IN_CALL_DUMMY will work).
Michael Snyder [Thu, 23 May 2002 15:42:44 +0000 (15:42 +0000)]
2002-05-23 Michael Snyder <msnyder@redhat.com>
* gdb.base/all-bin.exp: Allow for reduced floating point precision.
* gdb.base/call-rt-st.exp: Ditto.
Jakub Jelinek [Thu, 23 May 2002 13:12:53 +0000 (13:12 +0000)]
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
Nick Clifton [Thu, 23 May 2002 12:48:23 +0000 (12:48 +0000)]
Fix handling of BLX instruction to conform to Operations definition in the
ARM ARM.
Nick Clifton [Thu, 23 May 2002 12:38:31 +0000 (12:38 +0000)]
When decoding a BLX(1) instruction do not add in the second bit of the base
address - this has already been accounted for.
Nick Clifton [Thu, 23 May 2002 12:37:57 +0000 (12:37 +0000)]
For the Thumb BLX reloc round the relocation up rather than down.
Nick Clifton [Thu, 23 May 2002 10:45:14 +0000 (10:45 +0000)]
Silently ignore an 'a' flag in a COFF .section directive.
Alan Modra [Thu, 23 May 2002 10:12:04 +0000 (10:12 +0000)]
* config/tc-alpha.c (assemble_tokens): Protect use of
ALPHA_RELOC_TABLE with #ifdef RELOC_OP_P.
Alan Modra [Thu, 23 May 2002 08:17:10 +0000 (08:17 +0000)]
* configure.in: Correct spelling of AC_PREREQ.
Alan Modra [Thu, 23 May 2002 08:08:48 +0000 (08:08 +0000)]
* write.c (size_seg): Check adjustment to last frag.
(SUB_SEGMENT_ALIGN): If HANDLE_ALIGN defined, pad out last frag to
section alignment.
* config/obj-coff.c (SUB_SEGMENT_ALIGN): Likewise.
* config/obj-ieee.c (SUB_SEGMENT_ALIGN): Likewise.
(write_object_file): Invoke md_do_align if available, and use
frag_align_code on text sections.
* config/obj-vms.h (SUB_SEGMENT_ALIGN): Now two args.
* config/tc-m88k.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-ppc.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-sh.h (SUB_SEGMENT_ALIGN): Likewise.
* config/tc-i386.h (SUB_SEGMENT_ALIGN): Likewise. Define for
BFD_ASSEMBLER too.
H.J. Lu [Thu, 23 May 2002 06:51:41 +0000 (06:51 +0000)]
2002-05-22 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_directive_loc): Call listing_source_file
for source file.
Kazu Hirata [Thu, 23 May 2002 04:11:57 +0000 (04:11 +0000)]
* rdcoff.c: Fix formatting.
* rddbg.c: Likewise.
* readelf.c: Likewise.
* rename.c: Likewise.
* resbin.c: Likewise.
* resrc.c: Likewise.
* resres.c: Likewise.
Alan Modra [Thu, 23 May 2002 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 23 May 2002 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
DJ Delorie [Wed, 22 May 2002 21:06:53 +0000 (21:06 +0000)]
* acinclude.m4: Allow for PWDCMD to override hardcoded pwd.
Joern Rennecke [Wed, 22 May 2002 19:18:16 +0000 (19:18 +0000)]
* Makefile.am (sh-dis.lo): Compile with @archdefs@.
* Makefile.in: regenerate.
Corinna Vinschen [Wed, 22 May 2002 18:54:00 +0000 (18:54 +0000)]
* MAINTAINERS: Remove status `OBSOLETE' from v850.
Jason Thorpe [Wed, 22 May 2002 18:36:13 +0000 (18:36 +0000)]
* config.guess: Update to 2002-05-22 version.
* config.sub: Likewise.
Joern Rennecke [Wed, 22 May 2002 18:16:45 +0000 (18:16 +0000)]
Avoid dereferencing null pointer in:
* sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
for disassembly.
H.J. Lu [Wed, 22 May 2002 18:14:36 +0000 (18:14 +0000)]
2002-05-22 H.J. Lu <hjl@gnu.org>
* gas/mips/elf-rel.d: Updated for the subsegs_finish change in
write.c.
* gas/mips/elfel-rel.d: Likewise.
Christopher Faylor [Wed, 22 May 2002 18:03:09 +0000 (18:03 +0000)]
* pe-dll.c (autofilter_liblist): Add more system libs excluded by default.
(autofilter_objlist): Add crtbegin.o, crtend.o.
* emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define.
(longopts): Add new option --exclude-libs.
(gld_${EMULATION_NAME}_list_options): Give quick help about it.
(gld_${EMULATION_NAME}_parse_args): Use it.
* pe-dll.h (pe_dll_add_excludes): Add second param to prototype.
* pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from
whole archives.
(pe_dll_add_excludes): Set excludes->type.
(auto_export): Add new variable libname and set to archive basename if abfd.
Use it when filtering default and user-specified libarary excludes. Let string
"ALL" mean all libs when filtering user-specified libs.
* ld.texinfo: Document --exclude-libs.
Nick Clifton [Wed, 22 May 2002 16:46:27 +0000 (16:46 +0000)]
COFF: Dump literal pool when changing sections.
H.J. Lu [Wed, 22 May 2002 16:15:18 +0000 (16:15 +0000)]
2002-05-22 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_emit_insn): Emit only one line symbol
for one .loc for compiler.
Joern Rennecke [Wed, 22 May 2002 13:31:43 +0000 (13:31 +0000)]
* gas/sh/pcrel-coff.s: New file.
* gas/sh/pcrel-coff.d: Likewise.
* gas/sh/basic.exp: For coff, don't do dsp test,
and a modified pcrel test.
Michal Ludvig [Wed, 22 May 2002 13:21:19 +0000 (13:21 +0000)]
2002-05-22 Michal Ludvig <mludvig@suse.cz>
* dwarf2cfi.c (execute_stack_op): Change type of 'result'
from ULONGEST to CORE_ADDR.
Joern Rennecke [Wed, 22 May 2002 13:17:27 +0000 (13:17 +0000)]
* sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
for disassembly.
Michal Ludvig [Wed, 22 May 2002 12:34:08 +0000 (12:34 +0000)]
2002-05-22 Michal Ludvig <mludvig@suse.cz>
* dwarf2cfi.c (frame_state_for): Added safety check for a valid
fde->cie_ptr.
(dwarf2_build_frame_info): Corrected handling of eh_frame.
(dwarf2_build_frame_info): Add offset to fde->initial_location
so that frames of shared libraries are mapped correctly.
Nick Clifton [Wed, 22 May 2002 09:21:32 +0000 (09:21 +0000)]
Allow for PWDCMD to override hardcoded pwd.
Alan Modra [Wed, 22 May 2002 09:04:48 +0000 (09:04 +0000)]
* ldemul.c (ldemul_new_vers_pattern): New function.
* ldemul.h (ldemul_new_vers_pattern): Declare.
(struct ld_emulation_xfer_struct): Add new_vers_pattern.
* ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern.
* emultempl/ppc64elf.em (dotsyms): New static var.
(gld${EMULATION_NAME}_new_vers_pattern): New function.
(LDEMUL_NEW_VERS_PATTERN): Define.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS.
(PARSE_AND_LIST_LONGOPTS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update
initialiser.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf_oabi.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/generic.em: Likewise.
* emultempl/gld960.em: Likewise.
* emultempl/gld960c.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vanilla.em: Likewise.
Alan Modra [Wed, 22 May 2002 08:44:53 +0000 (08:44 +0000)]
* genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
and $NATIVE_LIB_DIRS. Add $tool_lib before other libs.
(LIB_SEARCH_DIRS): No need to use "tr".
(COMPILE_IN): Only set for native targets.
* configure.host (NATIVE_LIB_DIRS): Specify all native search dirs
here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh.
* configure.tgt (powerpc*): Set tdir_*.
(powerpcle*): Correct targ_extra_emuls.
* emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs.
* emulparams/elf64ppc.sh (LIB_PATH): Likewise.
Alan Modra [Wed, 22 May 2002 08:21:27 +0000 (08:21 +0000)]
* emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
calling lang_add_entry.
H.J. Lu [Wed, 22 May 2002 05:08:31 +0000 (05:08 +0000)]
2002-05-21 H.J. Lu (hjl@gnu.org)
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle
"-z muldefs".
(gld${EMULATION_NAME}_list_options): Add "-z muldefs".
* ld.texinfo: Updated for --allow-multiple-definition and
"-z muldefs".
* ldmain.c (main): Initialize the allow_multiple_definition
field to false.
* lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New.
(ld_options): Add --allow-multiple-definition.
(parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
H.J. Lu [Wed, 22 May 2002 05:07:20 +0000 (05:07 +0000)]
2002-05-21 H.J. Lu (hjl@gnu.org)
* bfdlink.h (bfd_link_info): Add allow_multiple_definition.
H.J. Lu [Wed, 22 May 2002 05:06:18 +0000 (05:06 +0000)]
2002-05-21 H.J. Lu (hjl@gnu.org)
* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
definition.
Jason Thorpe [Wed, 22 May 2002 04:46:14 +0000 (04:46 +0000)]
* config/alpha/tm-nbsd.h: Include solib.h.
Jason Thorpe [Wed, 22 May 2002 04:30:46 +0000 (04:30 +0000)]
* alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Don't make
assumptions about the host's byte order.
Alan Modra [Wed, 22 May 2002 04:22:08 +0000 (04:22 +0000)]
* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
Jason Thorpe [Wed, 22 May 2002 04:15:36 +0000 (04:15 +0000)]
* Makefile.in (alphanbsd-tdep.o, shnbsd-tdep.o): Add solib-svr4.h
to dependency list.
* alphanbsd-tdep.c: Include solib-svr4.h.
* shnbsd-tdep.c: Ditto.
Jason Thorpe [Wed, 22 May 2002 03:59:55 +0000 (03:59 +0000)]
* Makefile.in (armnbsd-tdep.o): Add solib-svr4.h and
nbsd-tdep.h to dependency list.
* configure.host (arm*-*-netbsdelf*, arm*-*-netbsd*,
i[3456]86-*-netbsdaout*, i[3456]86-*-netbsd*, m68*-*-netbsd*,
ns32k-*-netbsd*, sparc-*-netbsdaout*, sparc-*-netbsd*): Use
nbsdaout.mh and nbsdelf.mh consistently.
* configure.tgt (i[3456]86-*-netbsd*, m68*-*-netbsd*,
ns32k-*-netbsd*, sparc-*-netbsdelf*, sparc-*-netbsd*) Use
nbsdaout.mt and nbsdelf.mh consistently.
* armnbsd-tdep.c: Include nbsd-tdep.h and solib-svr4.h.
(arm_netbsd_elf_init_abi): Use set_solib_svr4_fetch_link_map_offsets
to set nbsd_ilp32_solib_svr4_fetch_link_map_offsets.
* config/nm-nbsd.h: Garbage-collect SVR4_SHARED_LIBS. Move
a.out shared library stuff from here...
* config/nm-nbsdaout.h: ...to here.
* config/tm-nbsd.h: Remove.
* config/alpha/nm-nbsd.h (SVR4_SHARED_LIBS): Remove.
* config/arm/nbsd.mh: Remove.
* config/arm/nbsd.mt (TDEPFILES): Remove solib-sunos.o, add
nbsd-tdep.o.
* config/arm/nbsdaout.mh: New file.
* config/arm/nbsdelf.mh: New file.
* config/arm/nm-nbsdaout.h: New file.
* config/i386/nbsd.mh: Remove.
* config/i386/nbsd.mt: Remove.
* config/i386/nbsdaout.mh: New file.
* config/i386/nbsdaout.mt: New file.
* config/i386/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h.
* config/i386/nbsdelf.mt (TM_FILE): Use tm-nbsd.h.
* config/i386/nm-nbsd.h (REGISTER_U_ADDR,
i386_register_u_addr): Remove.
* config/i386/nm-nbsdaout.h: New file.
* config/i386/nm-nbsdelf.h: Remove.
* config/i386/tm-nbsd.h: Don't include config/tm-nbsd.h.
(USE_STRUCT_CONVENTION): Remove.
* config/i386/tm-nbsdaout.h: New file.
* config/i386/tm-nbsdelf.h: Remove.
* config/m68k/nbsd.mh: Remove.
* config/m68k/nbsd.mt: Remove.
* config/m68k/nbsdaout.mh: New file.
* config/m68k/nbsdaout.mt: New file.
* config/m68k/nm-nbsd.h: Use config/nm-nbsd.h.
* config/m68k/nm-nbsdaout.h: New file.
* config/m68k/tm-nbsd.h: Don't include config/tm-nbsd.h.
(IN_SOLIB_CALL_TRAMPOLINE): Define.
* config/ns32k/nbsd.mh: Remove.
* config/ns32k/nbsd.mt: Remove.
* config/ns32k/nbsdaout.mh: New file.
* config/ns32k/nbsdaout.mt: New file.
* config/ns32k/nm-nbsd.h: Include config/nm-nbsd.h.
* config/ns32k/nm-nbsdaout.h: New file.
* config/ns32k/tm-nbsd.h: Don't include config/tm-nbsd.h.
(IN_SOLIB_CALL_TRAMPOLINE): Define.
* config/powerpc/nm-nbsd.h: Include config/nm-nbsd.h.
(SVR4_SHARED_LIBS): Remove.
* config/powerpc/tm-nbsd.h: Dont' include config/tm-nbsd.h.
* config/sparc/nbsd.mh: Remove.
* config/sparc/nbsd.mt: Remove.
* config/sparc/nbsdaout.mh: New file.
* config/sparc/nbsdaout.mt: New file.
* config/sparc/nbsdelf.mh (NAT_FILE): Use nm-nbsd.h.
* config/sparc/nbsdelf.mt: New file.
* config/sparc/nm-nbsdaout.h: New file.
* config/sparc/nm-nbsdelf.h: Remove.
* config/sparc/tm-nbsd.h: Don't include config/tm-nbsd.h.
* config/sparc/tm-nbsdaout.h: New file.
Thiemo Seufer [Wed, 22 May 2002 00:13:13 +0000 (00:13 +0000)]
* config/tc-mips.c (macro): Relax warning, it's toot strict for
embedded-PIC.
Alan Modra [Wed, 22 May 2002 00:04:40 +0000 (00:04 +0000)]
* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
unresolved relocs.
(ppc64_elf_size_dynamic_sections): Check for splt NULL.
gdbadmin [Wed, 22 May 2002 00:00:38 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 22 May 2002 00:00:05 +0000 (00:00 +0000)]
daily update
Thiemo Seufer [Tue, 21 May 2002 23:54:48 +0000 (23:54 +0000)]
? gas/testsuite/gas/mips/rol64.d
? gas/testsuite/gas/mips/rol64.s
Index: gas/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/ChangeLog,v
retrieving revision 1.1334
diff -u -p -r1.1334 ChangeLog
--- gas/ChangeLog 21 May 2002 20:01:51 -0000 1.1334
+++ gas/ChangeLog 21 May 2002 23:32:51 -0000
@@ -1,3 +1,8 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (macro2): Add 64 bit drol, dror macros.
+ Optimize the rotate by zero case.
+
2002-05-21 Nick Clifton <nickc@cambridge.redhat.com>
* configure.in: Remove accidental enabling of bfd_gas=yes for
Index: gas/config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.123
diff -u -p -r1.123 tc-mips.c
--- gas/config/tc-mips.c 14 May 2002 23:35:59 -0000 1.123
+++ gas/config/tc-mips.c 21 May 2002 23:32:52 -0000
@@ -6686,6 +6686,17 @@ macro2 (ip)
--mips_opts.noreorder;
break;
+ case M_DROL:
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+ "d,v,t", AT, 0, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+ "d,t,s", AT, sreg, AT);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+ "d,t,s", dreg, sreg, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ break;
+
case M_ROL:
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "subu",
"d,v,t", AT, 0, treg);
@@ -6697,15 +6708,55 @@ macro2 (ip)
"d,v,t", dreg, dreg, AT);
break;
+ case M_DROL_I:
+ {
+ unsigned int rot;
+ char *l, *r;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x3f;
+ if (! rot)
+ break;
+ l = (rot < 0x20) ? "dsll" : "dsll32";
+ r = ((0x40 - rot) < 0x20) ? "dsrl" : "dsrl32";
+ rot &= 0x1f;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
case M_ROL_I:
- if (imm_expr.X_op != O_constant)
- as_bad (_("rotate count too large"));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
- AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
- dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
- dreg, dreg, AT);
+ {
+ unsigned int rot;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x1f;
+ if (! rot)
+ break;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
+ case M_DROR:
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsubu",
+ "d,v,t", AT, 0, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsllv",
+ "d,t,s", AT, sreg, AT);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "dsrlv",
+ "d,t,s", dreg, sreg, treg);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
break;
case M_ROR:
@@ -6719,15 +6770,44 @@ macro2 (ip)
"d,v,t", dreg, dreg, AT);
break;
+ case M_DROR_I:
+ {
+ unsigned int rot;
+ char *l, *r;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x3f;
+ if (! rot)
+ break;
+ r = (rot < 0x20) ? "dsrl" : "dsrl32";
+ l = ((0x40 - rot) < 0x20) ? "dsll" : "dsll32";
+ rot &= 0x1f;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, r,
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, l,
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
+ break;
+
case M_ROR_I:
- if (imm_expr.X_op != O_constant)
- as_bad (_("rotate count too large"));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl", "d,w,<",
- AT, sreg, (int) (imm_expr.X_add_number & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll", "d,w,<",
- dreg, sreg, (int) ((0 - imm_expr.X_add_number) & 0x1f));
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or", "d,v,t",
- dreg, dreg, AT);
+ {
+ unsigned int rot;
+
+ if (imm_expr.X_op != O_constant)
+ as_bad (_("rotate count too large"));
+ rot = imm_expr.X_add_number & 0x1f;
+ if (! rot)
+ break;
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "srl",
+ "d,w,<", AT, sreg, rot);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sll",
+ "d,w,<", dreg, sreg, (0x20 - rot) & 0x1f);
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "or",
+ "d,v,t", dreg, dreg, AT);
+ }
break;
case M_S_DOB:
Index: gas/testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/testsuite/ChangeLog,v
retrieving revision 1.315
diff -u -p -r1.315 ChangeLog
--- gas/testsuite/ChangeLog 20 May 2002 17:05:34 -0000 1.315
+++ gas/testsuite/ChangeLog 21 May 2002 23:32:54 -0000
@@ -1,3 +1,9 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * gas/mips/rol64.s: New file, test of drol, dror macros.
+ * gas/mips/rol64.d: Likewise.
+ * gas/mips/mips.exp: Add new test.
+
2002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
* gas/arm/arm.exp: Replace deprecated command line switches
Index: gas/testsuite/gas/mips/mips.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/mips/mips.exp,v
retrieving revision 1.32
diff -u -p -r1.32 mips.exp
--- gas/testsuite/gas/mips/mips.exp 4 Apr 2002 08:23:30 -0000 1.32
+++ gas/testsuite/gas/mips/mips.exp 21 May 2002 23:32:54 -0000
@@ -122,6 +122,7 @@ if { [istarget mips*-*-*] } then {
run_dump_test "mul"
}
run_dump_test "rol"
+ run_dump_test "rol64"
if !$aout { run_dump_test "sb" }
run_dump_test "trunc"
if !$aout { run_dump_test "ulh" }
Index: include/opcode/ChangeLog
===================================================================
RCS file: /cvs/src/src/include/opcode/ChangeLog,v
retrieving revision 1.167
diff -u -p -r1.167 ChangeLog
--- include/opcode/ChangeLog 17 May 2002 19:01:03 -0000 1.167
+++ include/opcode/ChangeLog 21 May 2002 23:32:57 -0000
@@ -1,3 +1,7 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
* h8300.h: Corrected defs of all control regs
Index: include/opcode/mips.h
===================================================================
RCS file: /cvs/src/src/include/opcode/mips.h,v
retrieving revision 1.24
diff -u -p -r1.24 mips.h
--- include/opcode/mips.h 16 Mar 2002 03:09:18 -0000 1.24
+++ include/opcode/mips.h 21 May 2002 23:32:57 -0000
@@ -526,9 +526,13 @@ enum
M_REM_3I,
M_REMU_3,
M_REMU_3I,
+ M_DROL,
M_ROL,
+ M_DROL_I,
M_ROL_I,
+ M_DROR,
M_ROR,
+ M_DROR_I,
M_ROR_I,
M_S_DA,
M_S_DOB,
Index: opcodes/ChangeLog
===================================================================
RCS file: /cvs/src/src/opcodes/ChangeLog,v
retrieving revision 1.447
diff -u -p -r1.447 ChangeLog
--- opcodes/ChangeLog 17 May 2002 14:36:45 -0000 1.447
+++ opcodes/ChangeLog 21 May 2002 23:33:00 -0000
@@ -1,3 +1,7 @@
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
Fri May 17 14:26:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
* disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
Index: opcodes/mips-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/mips-opc.c,v
retrieving revision 1.32
diff -u -p -r1.32 mips-opc.c
--- opcodes/mips-opc.c 17 Mar 2002 02:42:25 -0000 1.32
+++ opcodes/mips-opc.c 21 May 2002 23:33:00 -0000
@@ -492,6 +492,10 @@ const struct mips_opcode mips_builtin_op
{"dremu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO, I3 },
{"dremu", "d,v,t", 3, (int) M_DREMU_3, INSN_MACRO, I3 },
{"dremu", "d,v,I", 3, (int) M_DREMU_3I, INSN_MACRO, I3 },
+{"drol", "d,v,t", 0, (int) M_DROL, INSN_MACRO, I3 },
+{"drol", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, I3 },
+{"dror", "d,v,t", 0, (int) M_DROR, INSN_MACRO, I3 },
+{"dror", "d,v,I", 0, (int) M_DROR_I, INSN_MACRO, I3 },
{"dsllv", "d,t,s", 0x00000014, 0xfc0007ff, WR_d|RD_t|RD_s, I3 },
{"dsll32", "d,w,<", 0x0000003c, 0xffe0003f, WR_d|RD_t, I3 },
{"dsll", "d,w,s", 0x00000014, 0xfc0007ff, WR_d|RD_t|RD_s, I3 }, /* dsllv */
Jason Thorpe [Tue, 21 May 2002 21:23:44 +0000 (21:23 +0000)]
* Makefile.in (ALLDEPFILES): Add mipsnbsd-nat.c and
mipsnbsd-tdep.c
(mipsnbsd-nat.o, mipsnbsd-tdep.o): New dependency lists.
Jason Thorpe [Tue, 21 May 2002 20:53:31 +0000 (20:53 +0000)]
* Makefile.in (ALLDEPFILES): Add shnbsd-tdep.c and
shnbsd-nat.c.
(shnbsd-tdep.o, shnbsd-nat.o): New dependency lists.