Andrew Cagney [Thu, 11 Nov 2004 18:59:39 +0000 (18:59 +0000)]
2004-11-05 Jon Beniston <jon@beniston.com>
* remote.c (putpkt_binary) Fix PR gdb/1806. Send an ACK
when an unexpected packet is received, as the target stubs
continually retransmit the same packet until ACKed.
Bob Wilson [Wed, 10 Nov 2004 22:20:27 +0000 (22:20 +0000)]
* config/tc-xtensa.c (update_next_frag_state): Always add a NOP if
relaxing at the end of a loop. Don't mark frags as UNREACHABLE or
MAYBE_UNREACHABLE.
(relax_frag_immed): Update call to update_next_frag_state.
Randolph Chung [Wed, 10 Nov 2004 21:17:58 +0000 (21:17 +0000)]
2004-11-10 Randolph Chung <tausq@debian.org>
* blockframe.c (inside_entry_func): Move to .....
* frame.c (inside_entry_func): ... here, and make static.
(backtrace_past_entry): New flag.
(get_prev_frame): Stop backtrace at the entry function if enabled
by flag. Update comments.
(_initialize_frame): Add command to set backtrace_past_entry flag.
* defs.h (inside_entry_func): Remove prototype.
doc/
* gdb.texinfo: Document set/show backtrace past-entry commands.
Rearrange index entries for set/show backtrace past-main.
Ian Lance Taylor [Wed, 10 Nov 2004 16:10:17 +0000 (16:10 +0000)]
PR binutils/536
* stabs.c (stab_demangle_template): Call stab_demangle_count
rather than stab_demangle_get_count to get the length of a pointer
target.
Mark Mitchell [Tue, 9 Nov 2004 17:40:22 +0000 (17:40 +0000)]
* som.c (som_bfd_print_private_bfd_data): New function.
(som_object_setup): Save the auxiliary header. Don't assume that
zero is an invalid entry point for a shared library.
(som_object_p): Allocate the auxiliary header on the heap.
Andrew Cagney [Tue, 9 Nov 2004 01:16:42 +0000 (01:16 +0000)]
2004-11-08 Andrew Cagney <cagney@gnu.org>
* sentinel-frame.c (sentinel_frame_prev_pc): New function.
(sentinel_frame_unwinder): Add the prev_pc method.
* frame.c (frame_pc_unwind): Use the per-frame pc unwinder when
available. Do not handle the sentinel-frame case.
* frame-unwind.h (frame_prev_register_ftype): Define.
(struct frame_unwind): Add prev_pc;
H.J. Lu [Tue, 9 Nov 2004 01:01:17 +0000 (01:01 +0000)]
2004-11-08 H.J. Lu <hongjiu.lu@intel.com>
PR 528
* symbols.c (resolve_symbol_value): Convert weak symbols only
for Windows PECOFF.
(symbol_equated_reloc_p): Don't equate weaks when relocating
only for Windows PECOFF.
Dave Anglin [Tue, 9 Nov 2004 00:59:03 +0000 (00:59 +0000)]
* configure.in: Check for ncurses/term.h.
* gdb_curses.h: Include term.h here, prefering ncurses/term.h.
* utils.c: Include gdb_curses.h instead of curses.h and term.h.
* tui/tui.c: Don't include term.h.
* configure, config.in: Rebuilt.
Mark Mitchell [Mon, 8 Nov 2004 22:08:07 +0000 (22:08 +0000)]
* elf32-arm.c (elf32_arm_final_link_relocate): When generating an
R_ARM_RELATIVE relocation for Symbian OS, mention the section
symbol in the relocation.
* Makefile.in (symfile-mem.o): Update dependencies.
* i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): New.
(i386_linux_init_abi): Call dwarf2_frame_set_signal_frame_p.
* inf-ptrace.c (inf_ptrace_attach): Call
observer_notify_inferior_created.
* inftarg.c (child_attach): Likewise.
* symfile-mem.c: Include "observer.h", "auxv.h", and "elf/common.h".
(symbol_file_add_from_memory): Take NAME argument. Use it for
the new BFD's filename.
(add_symbol_file_from_memory_command): Update call to
symbol_file_add_from_memory.
(struct symbol_file_add_from_memory_args, add_vsyscall_page)
(symbol_file_add_from_memory_wrapper): New.
(_initialize_symfile_mem): Register add_vsyscall_page as an
inferior_created observer.
Mark Kettenis [Sun, 7 Nov 2004 21:31:19 +0000 (21:31 +0000)]
* m68kbsd-nat.c (m68kbsd_fetch_inferior_registers): Rename from
fetch_inferior_registers. Make static.
(m68kbsd_store_inferior_registers): Rename from
store_inferior_registers. Make static.
(_initialize_m68kbsd_nat): Construct and add target vector.
* config/m68k/nbsdaout.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Set to tm-solib.h.
(LOADLIBES): New variable.
* config/m68k/nbsdelf.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Delete variable.
* config/m68k/obsd.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o. Add inf-ptrace.o.
(NAT_FILE): Set to tm-solib.h.
* config/m68k/nm-nbsdaout.h: Remove file.
Mark Kettenis [Sun, 7 Nov 2004 17:53:30 +0000 (17:53 +0000)]
* mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Renamed
from mipsnbsd_ilp32_solib_svr4_fetch_link_map_offsets. Trim sizes
to only include the structure members we actually need.
(mipsnbsd_lp64_fetch_link_map_offsets): Renamed from
mipsnbsd_lp64_solib_svr4_fetch_link_map_offsets. Trim sizes to
only include the structure members we actually need.
(mipsnbsd_init_abi): Update.
Andrew Cagney [Sat, 6 Nov 2004 00:39:16 +0000 (00:39 +0000)]
2004-11-05 Andrew Cagney <cagney@gnu.org>
* dwarf2-frame.c (dwarf2_frame_cache): Only complain when both the
CFI and the init_reg method leave the register unspecified.
Include the register name in the "Incomplete CFI data" complaint.
Supress leading zeros in the address.
Jeff Johnston [Fri, 5 Nov 2004 20:32:04 +0000 (20:32 +0000)]
2004-11-05 Jeff Johnston <jjohnstn@redhat.com>
* defs.h (fatal, vfatal): New function prototypes.
* stack.c (backtrace_command_stub): Stub to call backtrace_command_1
via catch_errors.
(backtrace_command): Change to call backtrace_command_stub via
catch_errors instead of calling backtrace_command_1 directly.
(backtrace_full_command): Ditto.
* utils.c (error_stream_1): New static function.
(verror): Change to call error_stream_1 instead of error_stream.
(error_stream): Call error_stream_1 with RETURN_ERROR argument.
(vfatal, fatal): New functions.
Tomer Levi [Fri, 5 Nov 2004 11:07:48 +0000 (11:07 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Rename argument types.
(processing_arg_number): Rename to 'cur_arg_num'.
(get_number_of_bits): Rename to 'set_operand_size'.
(get_operandtype): Rename to 'parse_operand', totally rewrite.
(set_cons_rparams): Rename to 'set_operand', totally rewrite.
(set_indexmode_parameters): Remove function, integrate its code into
'set_operand'.
(set_operand_size): Get rid of 'Operand Number' function parameter -
use global variable 'cur_arg_num' instead.
Use a local 'argument' pointer to reference the current argument.
(parse_operand): Likewise.
(set_operand): Likewise.
(process_label_constant): Likewise.
Tomer Levi [Fri, 5 Nov 2004 11:02:04 +0000 (11:02 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Rename argument types.
(processing_arg_number): Rename to 'cur_arg_num'.
(get_number_of_bits): Rename to 'set_operand_size'.
(get_operandtype): Rename to 'parse_operand', totally rewrite.
(set_cons_rparams): Rename to 'set_operand', totally rewrite.
(set_indexmode_parameters): Remove function, integrate its code into 'set_operand'.
(set_operand_size): Get rid of 'Operand Number' function parameter - use global variable 'cur_arg_num' instead.
Use a local 'argument' pointer to reference the current argument.
(parse_operand): Likewise.
(set_operand): Likewise.
(process_label_constant): Likewise.
Jim Blandy [Thu, 4 Nov 2004 17:50:16 +0000 (17:50 +0000)]
* gdbtypes.c (make_qualified_type): Doc fix. Add assertion to
prevent cross-objfile references.
(make_cv_type): Doc fix. Don't create cross-objfile references,
even for stub types.
(replace_type): Add assertion to prevent cross-objfile references.
(check_typedef): Never resolve a stub type by copying over a type
from another file.
* configure.in (crisv32): Recognize. AC_DEFINE_UNQUOTED
DEFAULT_CRIS_ARCH. Handle crisv32-*-linux-gnu* like
cris-*-linux-gnu* and crisv32-*-* like cris-*-*.
* configure: Regenerate.
* config/tc-cris.c (enum cris_archs): New.
(cris_mach, cris_arch_from_string, s_cris_arch, get_sup_reg)
(cris_insn_ver_valid_for_arch): New functions.
(DEFAULT_CRIS_ARCH): New macro, default to cris_any_v0_v10.
(cris_arch): New variable.
(md_pseudo_table): New pseudo .arch.
(err_for_dangerous_mul_placement): Initialize according to
DEFAULT_CRIS_ARCH.
(STATE_COND_BRANCH): Renamed from STATE_CONDITIONAL_BRANCH.
All users changed.
(STATE_COND_BRANCH_V32, STATE_COND_BRANCH_COMMON)
(STATE_ABS_BRANCH_V32, STATE_LAPC, BRANCH_BF_V32, BRANCH_BB_V32)
(BRANCH_WF_V32, BRANCH_WB_V32): New.
(BRANCH_BF, BRANCH_BB, BRANCH_WF, BRANCH_WB): Don't undef after
use in md_cris_relax_table.
(md_cris_relax_table): Add entries for STATE_COND_BRANCH_V32,
STATE_COND_BRANCH_COMMON, STATE_ABS_BRANCH_V32, STATE_LAPC.
Update and improve head comment.
(OPTION_PIC): Define in terms of previous option, OPTION_US.
(OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): Similar.
(OPTION_ARCH): New.
(md_longopts): New option --march=...
(cris_any_v0_v10_long_jump_size, crisv32_long_jump_size): New
macros.
(md_long_jump_size): Initialize in terms of DEFAULT_CRIS_ARCH.
(HANDLE_RELAXABLE): New macro.
(md_estimate_size_before_relax): Use HANDLE_RELAXABLE for common
cases. Check for weak symbols and assume not relaxable. Handle
STATE_COND_BRANCH_V32, STATE_COND_BRANCH_COMMON,
STATE_ABS_BRANCH_V32, STATE_LAPC. Use new variable symbolP, not
fragP->fr_symbol.
(md_convert_frag): Handle STATE_COND_BRANCH_V32,
STATE_COND_BRANCH_COMMON, STATE_ABS_BRANCH_V32, STATE_LAPC.
(cris_create_short_jump): Adjust for CRISv32.
(md_create_long_jump): Ditto. Emit error for common_v10_v32.
(md_begin): Define symbols "..asm.arch.cris.v32",
"..asm.arch.cris.v10", "..asm.arch.cris.common_v10_v32" and
"..asm.arch.cris.any_v0_v10". Use cris_insn_ver_valid_for_arch
when entering opcode table entry points.
(md_assemble): Adjust branch handling for CRISv32. Handle LAPC
relaxation. In fix_new_exp call for main insn, pass 1 for pcrel
parameter for 8, 16 and 32-bit pc-relative insns and LAPC.
(cris_process_instruction): Initialize out_insnp->insn_type to
CRIS_INSN_NONE, not CRIS_INSN_NORMAL.
<case ']', '[', 'A', 'd', 'Q', 'N', 'n', 'Y', 'U', 'u', 'T'>: New
cases.
<case 'm'>: Check that modified_char == '.'.
<invalid operands>: Consume the rest of the line.
When operands don't match, skip over subsequent insns with
non-matching version specifier but same mnemonic.
<immediate constant, case SIZE_SPEC_REG>: Immediate operands for
special registers in CRISv32 are always 32 bit long.
<immediate constant, case SIZE_FIELD_SIGNED, SIZE_FIELD_UNSIGNED>:
New cases.
(get_gen_reg): Only recognize "PC" when followed by "+]" for v32
and compatible. Recognize "ACR" for v32, unless followed by "+".
(get_spec_reg): Consider cris_arch when looking up register.
(get_autoinc_prefix_or_indir_op): Don't recognize assignment for
v32 or compatible.
(get_3op_or_dip_prefix_op): Check for ']' after seeing '[rN+'.
(cris_get_expression): Restore input_line_pointer if failing "early".
(get_flags): Consider cris_arch and recognize flags accordingly.
(branch_disp): Adjust for CRISv32.
(gen_cond_branch_32): Similar. Emit error for common_v10_v32.
(cris_number_to_imm): Use as_bad_where, not as_bad. Remove
related FIXME. Don't insist on BFD_RELOC_32_PCREL fixup to be
resolved. Don't enter zeros in object file for
BFD_RELOC_32_PCREL.
<case BFD_RELOC_CRIS_LAPCQ_OFFSET, BFD_RELOC_CRIS_SIGNED_16>
<case BFD_RELOC_CRIS_SIGNED_8>: New case.
(md_parse_option): Break out "return 1".
<OPTION_ARCH> New case.
(tc_gen_reloc): <case BFD_RELOC_CRIS_LAPCQ_OFFSET>
<case BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_SIGNED_8>
<case BFD_RELOC_CRIS_UNSIGNED_8, BFD_RELOC_CRIS_UNSIGNED_16>
<case BFD_RELOC_32_PCREL>: New cases.
Addends for non-zero fx_pcrel are too in fx_offset.
(md_show_usage): Show --march=<arch>.
(md_apply_fix3): Adjust val for BFD_RELOC_CRIS_LAPCQ_OFFSET.
(md_pcrel_from): BFD_RELOC_CRIS_LAPCQ_OFFSET is PC-relative too.
(s_syntax) <struct syntaxes>: Properly constify member operand.
* config/tc-cris.h (TARGET_MACH): Define.
(cris_mach): Declare.
* doc/as.texinfo (Overview) <CRIS>: Add --march=...
* doc/c-cris.texi (CRIS-Symbols): New node for built-in symbols.
(CRIS-Opts): Document --march=...
(CRIS-Pseudos): Document .arch.
* config.bfd: Support crisv32-*-* like cris-*-*.
* archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
(bfd_mach_cris_v10_v32): New macros.
* cpu-cris.c: Tweak formatting.
(get_compatible): New function.
(N): New macro.
(bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
bfd_arch_info_type:s.
(bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
get_compatible for member compatible and link bfd_cris_arch_v32 as
next.
* elf32-cris.c (cris_elf_pcrel_reloc)
(cris_elf_set_mach_from_flags): New functions.
(cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
<R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
(cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
numbers for bfd_mach_cris_v32.
(PLT_ENTRY_SIZE_V32): New macro.
(elf_cris_plt0_entry): Drop last comma in initializer.
(elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
(elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
PLT initializers.
(cris_elf_relocate_section): Change all "%B(%A)" messages to
"%B, section %A".
(elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
(elf_cris_finish_dynamic_sections): Similar.
(elf_cris_adjust_dynamic_symbol): Similar.
(cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
section %A".
<switch with PIC relocs>: Emit error and return FALSE for
bfd_mach_cris_v10_v32.
<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
Emit warning when generating textrel reloc.
(cris_elf_object_p): Call cris_elf_set_mach_from_flags.
(cris_elf_final_write_processing): Set flags according to mach.
(cris_elf_print_private_bfd_data): Display
EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
(cris_elf_merge_private_bfd_data): Drop variables old_flags,
new_flags. Don't call cris_elf_final_write_processing. Don't
look at the actual elf header flags at all; use
bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
in bfd_get_mach for ibfd and obfd and handle merging of compatible
objects.
(bfd_elf32_bfd_copy_private_bfd_data): Define.
* reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
(BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
(BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
* bfd-in2.h, libbfd.h: Regenerate.