Andrew Cagney [Wed, 12 Mar 2003 22:39:16 +0000 (22:39 +0000)]
2003-03-12 Andrew Cagney <cagney@redhat.com>
* frame.c (get_current_frame): Check target_has_registers before
checking target_has_stack.
* eval.c (evaluate_subexp_standard): Use get_selected_frame,
instead of deprecated_selected_frame.
* findvar.c (value_of_register): Pass "frame", not
deprecated_selected_frame, to value_of_builtin_reg.
Andrew Cagney [Wed, 12 Mar 2003 20:50:13 +0000 (20:50 +0000)]
2003-03-12 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_cooked_write_signed): New function.
(regcache_cooked_write_unsigned): New function.
(regcache_cooked_read_unsigned): Fix regnum in range assertion.
(regcache_cooked_read_signed): Fix regnum in range assertion.
* regcache.h (regcache_cooked_write_signed): Declare.
(regcache_cooked_write_unsigned): Declare.
Kevin Buettner [Tue, 11 Mar 2003 23:15:38 +0000 (23:15 +0000)]
* mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
mips_dwarf_dwarf2_ecoff_reg_to_regnum().
(mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
Do range checks on register number obtained from debugging info.
(mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of
set_gdbarch_ecoff_reg_to_regnum() to account for new name of
mapping function.
(do_fp_register_row): Fix typo which caused double type to be
used when attempting to unpack a float.
Alexandre Oliva [Tue, 11 Mar 2003 19:11:38 +0000 (19:11 +0000)]
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
dynamic relocations pointing to local or section symbols, use the
NULL symbol instead. Document the choice to not emit an
additional R_MIPS_64 relocation.
Alan Modra [Mon, 10 Mar 2003 23:25:13 +0000 (23:25 +0000)]
* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
zero index dynamic tls relocs generated for the GOT. Tidy code.
Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* ld-powerpc/tlsso.r: Adjust for corrected zero symbol index relocs.
* ld-powerpc/tlsso32.r: Likewise.
Michal Ludvig [Fri, 7 Mar 2003 10:43:00 +0000 (10:43 +0000)]
2003-03-07 Michal Ludvig <mludvig@suse.cz>
* x86-64-tdep.c (x86_64_function_has_prologue): New function.
(x86_64_skip_prologue): Move prologue detection to
separate function.
* x86-64-tdep.h (x86_64_function_has_prologue): New prototype.
Alan Modra [Thu, 6 Mar 2003 23:26:20 +0000 (23:26 +0000)]
* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
ELF_LINK_NON_GOT_REF from weakdef.
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
ELF_LINK_NON_GOT_REF from weakdef.
* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
ELF_LINK_NON_GOT_REF from weakdef.
Alan Modra [Thu, 6 Mar 2003 11:32:43 +0000 (11:32 +0000)]
* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
error messages.
(ELIMINATE_COPY_RELOCS): Define to zero.
(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
TLSLD relocs. Report reloc types on a number of errors. Optimize
LOCAL24PC check for non-local syms. Don't capitalize error messages.
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
calculating TLSLD relocs. Report reloc types on a number of errors.
Don't capitalize error messages.
Andrew Cagney [Wed, 5 Mar 2003 23:14:18 +0000 (23:14 +0000)]
2003-03-05 Andrew Cagney <cagney@redhat.com>
* d10v-tdep.c (d10v_unwind_dummy_id): New function.
(d10v_gdbarch_init): Set unwind_dummy_id and save_dummy_frame_tos.
* frame.c (get_prev_frame): Restructure the frame ID unwind code
to use unwind_dummy_id when a dummy frame.
* gdbarch.sh (unwind_dummy_id): New multi-arch method with
predicate.
* gdbarch.h, gdbarch.c: Regneerate.
Index: doc/ChangeLog
2003-03-05 Andrew Cagney <cagney@redhat.com>
Andrew Cagney [Wed, 5 Mar 2003 22:54:22 +0000 (22:54 +0000)]
2003-03-05 Andrew Cagney <cagney@redhat.com>
* d10v-tdep.c (struct d10v_unwind_cache): Add field "base".
(d10v_frame_unwind_cache): Rewrite code computing the base and SP.
Do not use d10v_read_sp or d10v_read_fp when obtaining register
values.
Andrew Cagney [Wed, 5 Mar 2003 20:57:28 +0000 (20:57 +0000)]
2003-03-05 Andrew Cagney <cagney@redhat.com>
* d10v-tdep.c (struct frame_extra_info): Delete unused structure.
(struct d10v_unwind_cache): Delete field "frameless". Replace
"next_addr" with "sp_offset". Add "r11_offset".
(d10v_frame_unwind_cache): Update.
(prologue_find_regs): Update. When "mv r11, sp", save the
"sp_offset" in "r11_offset". Recognize "st rn, @r11", note that
RN was saved in r11_offset.
Andrew Cagney [Wed, 5 Mar 2003 18:51:17 +0000 (18:51 +0000)]
2003-03-05 Andrew Cagney <cagney@redhat.com>
* frame.h (struct frame_info): Replace "id_unwind_cache_p" and
"id_unwind_cache" with "id".
(frame_id_unwind): Delete declaration.
* frame.c (frame_id_unwind): Delete function.
(get_prev_frame): Call the frame id unwind method directly. Store
the returned next frame's ID value in NEXT_FRAME. Note that there
is a problem with the wrong unwind ID being called with the wrong
unwind cache.
* dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition.
* dwarf2loc.c: Include "regcache.h".
(dwarf_expr_read_reg): Rename regnum argument to dwarf_regnum. Use
register_size.
* Makefile.in (dwarf2loc.o): Update dependencies.
David Carlton [Tue, 4 Mar 2003 17:02:20 +0000 (17:02 +0000)]
2003-03-04 David Carlton <carlton@math.stanford.edu>
* gdb.c++/templates.exp (do_tests): Accept valid const in "print
Garply<Garply<char> >:: garply".
(test_ptype_of_templates): KFAIL "ptype T5<int>" and "ptype t5i"
with respect to PR c++/1111; note also PR c++/1113.
(test_template_breakpoints): KFAIL "constructor breakpoint" with
respect to PR c++/1062.
KFAIL "destructor breakpoint" with respect to PR c++/1112.
Joern Rennecke [Mon, 3 Mar 2003 21:04:01 +0000 (21:04 +0000)]
Fix sh-elf linker relaxation:
gcc:
* config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
subtarget_asm_isa_spec.
(SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
(ASM_SPEC): Define as SH_ASM_SPEC.
(SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
* config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
(SUBTARGET_ASM_ISA_SPEC): Undef / define.
gcc/testsuite:
gcc.dg/sh-relax.c: New test.
include/elf:
* sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
and SH2E & SH4 merge to SH4, not SH2E.
gas:
* config/tc-sh.c (sh_dsp): Replace with preset_target_arch.
(md_begin): Use preset_target_arch.
(md_longopts): Make isa option unconditional.
(md_parse_option): Make OPTION_DSP and OPTION_ISA sh4 / any
set preset_target_arch.
(md_apply_fix3): If BFD_ASSEMBLER, adjust SWITCH_TABLE fixups
by -S_GET_VALUE (fixP->fx_subsy).
(tc_gen_reloc): For SWITCH_TABLE fixups, the symbol is fixp->fx_subsy,
and the addend is 0.
Adjust addend of R_SH_IND12W relocations by fixp->fx_offset - 4.
* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
bfd:
elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
relocation (no special function), and make it non-partial_inplace.
(sh_elf_relax_section): When creating a bsr, use a consistent value
no matter if the symbol is extern or not; set addend to -4.
Don't swap load / non-load instructions for SH4.
(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
rather than if the symbol is external to determine if adjusting the
offset makes sense. Adjust the addend too if appropriate.
(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
relocation.
Alexandre Oliva [Mon, 3 Mar 2003 20:00:35 +0000 (20:00 +0000)]
* ldfile.h (struct search_dirs): Added sysrooted field.
* ldlang.h (struct lang_input_statement_struct): Likewise.
* ldfile.c (ldfile_add_library_path): Mark sysrooted paths.
(ldfile_open_file_search): Look for sysrooted filename starting
with / in ld_sysroot instead of in the current directory. Clear
sysrooted flag if it's found in the current directory. Set it
from the search directory's sysrooted flag where it is found
otherwise.
* ldlang.c (ldlang_sysrooted_script): New static variable.
(new_afile): Mark search_file_enums as sysrooted if
ldlang_sysrooted_script.
(load_symbols): Set ldlang_sysrooted_script according to the
script's sysrooted field while processing it.
* ld.texinfo: Document INPUT behavior in sysroot.
David Carlton [Mon, 3 Mar 2003 18:48:31 +0000 (18:48 +0000)]
2003-02-28 David Carlton <carlton@math.stanford.edu>
* gdb.c++/classes.exp (test_enums): KFAIL "ptype obj_with_enum"
with respect to PR c++/57.
KFAIL "print (ClassWithEnum::PrivEnum) 42" with respect to PR
c++/826.
Create "print ('ClassWithEnum::PrivEnum') 42"; KFAIL it with
respect to PR c++/57.