* config/tc-mips.c (macro): Put back `+ 0x8000' in test for 64-bit
constant address that Alexandre took out by accident. Reject
64-bit addresses that are not sign extensions of 32 bits only if
we don't support 64-bit address constants.
* gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate.
* gdbarch.h, gdbarch.c: Re-generate.
* d10v-tdep.c (d10v_saved_pc_after_call): Delete function.
(d10v_gdbarch_init): Do not set saved_pc_after_call.
* infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P
conditionally, use frame_pc_unwind as an alternative. Add
comments.
* arch-utils.c (init_frame_pc_default): Only call
SAVED_PC_AFTER_CALL when available.
* infrun.c (stop_soon_quietly): Make it an enum, to better
override the default behavior of handle_inferior_event.
(clear_proceed_status): Update uses of stop_soon_quietly to
reflect that it is now an enum.
(start_remote): Ditto.
(handle_inferior_event): Change logic a bit if stop_soon_quietly
is set to handle the new GNU/Linux kernel behavior for
attach/sigstop. Update uses of stop_soon_quietly.
* inferior.h (enum stop_kind): New enum.
* infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP.
Reset normal handle_inferior_event behavior, afterwards.
* fork-child.c (startup_inferior): Update.
* alpha-tdep.c (heuristic_proc_start): Update.
* solib-svr4.c (svr4_solib_create_inferior_hook): Update.
* solib-sunos.c (sunos_solib_create_inferior_hook): Update.
* solib-osf.c (osf_solib_create_inferior_hook): Update.
* solib-irix.c (irix_solib_create_inferior_hook): Update.
* remote-vx.c (vx_create_inferior): Update.
* mips-tdep.c (heuristic_proc_start): Update.
Nick Clifton [Tue, 8 Apr 2003 12:47:08 +0000 (12:47 +0000)]
* as.c (perform_an_assembly_pass): If using cgen, call gas_cgen_begin.
* cgen.c (gas_cgen_begin): New function. If flag_signed_overflow_ok is set
call cgen_set_signed_overflow_ok otherwise call cgen_clear_signed_overflow_ok.
* cgen.h: Prototype gas_cgen_begin.
* testsuite/gas/m32r/m32r.exp: Run signed-relocs test.
* testsuite/gas/m32r/signed-relocs.s: New file: Test signed relocs.
* testsuite/gas/m32r/signed-relocs.d: New file: Expected results
Nick Clifton [Tue, 8 Apr 2003 09:50:07 +0000 (09:50 +0000)]
* ia64-ic.tbl (fr-readers): Add mem-writers-fp.
* ia64-asmtab.c: Regenerate.
* gas/ia64/dependency-1.s: New file: Test read before write dependency.
* gas/ia64/dependency-1.d: New file: Expected assembly results.
* gas/ia64/ia64.exp: Run the new test.
* disasm.c (dump_insns): Move variables inside loop, or they will
be freed more than once, causing wild memory corruptions.
(gdb_disassembly): Look for the substring "-thread",
instead of "-threads" in the target name, to make sure to find
the 'multi-thread' target. Also, make sure we do the right thing
with the "core" target.
Kevin Buettner [Mon, 7 Apr 2003 18:38:04 +0000 (18:38 +0000)]
* mips-tdep.c (mips_print_fp_register): New function, created from
do_fp_register_row(). Registers are now (also) printed as hex.
Only one register is printed per row.
(mips_print_register, do_fp_register_row): Print floating point
registers with mips_print_fp_register().
* config/tc-mips.c (HAVE_64BIT_ADDRESS_CONSTANTS): New.
(macro): Use new macro to decide whether to emit constant address
as 32 or 64 bits if addresses are 32-bit wide but registers are
64-bit wide.
* config/tc-m68hc11.c (M6811_OP_CALL_ADDR): New internal define.
(M6811_OP_PAGE_ADDR): New internal define.
(get_operand): New modifier %page and %addr to obtain page and
address part of a far-function.
(fixup8): Use BFD_RELOC_M68HC11_PAGE for a %page modifier; don't
complain on overflow for the BFD_RELOC_M68HC11_PAGE and truncation
relocs.
(fixup16): Use BFD_RELOC_M68HC11_LO16 for a %addr modifier.
(find_opcode): Add comment.
(md_estimate_size_before_relax): Force relocation of
STATE_UNDEXED_OFFSET types when the symbol is not absolute.
(tc_m68hc11_fix_adjustable): Check for BFD_RELOC_M68HC11_LO16
instead of BFD_RELOC_LO16; temporarily make the BFD_RELOC_32
on the symbol itself so that DWARF2 strings are merged correctly.
* frame.c (get_prev_frame): Do not call frame_type_from_pc. Set
the frame's type from the unwinder.
(get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME.
(create_new_frame, legacy_get_prev_frame): When the unwinder's
type isn't UNKNOWN_FRAME, initalize "type" from the unwinder.
(get_frame_base_address): Use get_frame_type.
(get_frame_locals_address, get_frame_args_address): Ditto.
(legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE.
* frame.h (enum frame_type): Add UNKNOWN_FRAME.
(struct frame_info): Add comment explaining why the frame contains
a "type" field.
* dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME.
* d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME.
* sentinel-frame.c (sentinel_frame_unwinder): Set the type to
NORMAL_FRAME.
* frame-unwind.h: Include "frame.h".
(struct frame_unwind): Add "type" field.
* Makefile.in (frame_unwind_h): Add $(frame_h).
* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
symbols that mark the end of the section.
(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
converting to a relative branch so that the offset is computed after
the relaxation; also relocate a jsr into a bsr if possible but don't
relax them if they are to a far symbol as we need to call the
trampoline code.
(elf_m68hc11_howto_table): Set pcrel_offset to true.
* x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build.
* dummy-frame.c (dummy_frame_this_id): Use frame_id_build.
* d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and
get_frame_base.
(d10v_unwind_dummy_id): Use frame_id_build.
* frame.c (find_frame_sal): Use get_frame_pc.
(create_new_frame): Use deprecated_update_frame_pc_hack and
deprecated_update_frame_base_hack.
(create_sentinel_frame): Add comment about ->pc going away.
(get_prev_frame): Add comment about ->pc going away.
(legacy_get_prev_frame): Use get_frame_base, get_frame_pc,
frame_id_build, deprecated_update_frame_pc_hack and
deprecated_update_frame_base_hack.
(select_frame): Use get_frame_pc.
(legacy_saved_regs_this_id): Use frame_id_build.
* gas/mips/mips5.d: New test.
* gas/mips/mips5.l: New test stderr listing.
* gas/mips/mips5.s: New test source file.
* gas/mips/mips.exp: Run the mips5 test.
Adam Fedor [Fri, 4 Apr 2003 04:29:15 +0000 (04:29 +0000)]
* gdb/objc-lang.c (selectors_info): Replace calls to
SYMBOL_DEMANGLED_NAME and DEPRECATED_SYMBOL_NAME with
SYMBOL_NATURAL_NAME.
(classes_info, find_methods): Likewise.
* gdb.base/callfuncs.exp: Make "print add" messages unique.
* gdb.base/ending-run.exp: Put spaces around "breakpoint" to stop
matching directories by the name breakpoint.
* gdb.base/pointers.exp: Make "ptype pppC" message consistent.
Make "continue to marker1" consistent.
* gdb.base/call-rt-st.exp: Make "finish out from loop_count"
message consistent.
* lib/gdb.exp: Put "the program is no longer running", and "the
program exited" in parenthesis.
* lib/mi-support.exp: Ditto.
Nick Clifton [Thu, 3 Apr 2003 11:13:27 +0000 (11:13 +0000)]
(_bfd_XXi_swap_scnhdr_out): Compute ps and ss differently for object files and
executables.
(coff_swap_scnhdr_in): Only set the s_size field for object files or for
executables who have not already initialised the field.
(bfd_pe_executable_p): New macro. Return true if the PE format bfd is an
executable.
Alan Modra [Thu, 3 Apr 2003 02:54:52 +0000 (02:54 +0000)]
* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
here as it's too early to reliably determine locality.
(ppc_elf_gc_sweep_hook): Likewise.
* config/tc-mips.c (macro2): Adjust implementation of
M_ULH, M_ULHU, M_ULW, and M_ULD so that they work properly
in the case where the source and destination registers
are the same.
[ gas/testsuite/ChangeLog ]
2003-04-02 Chris Demetriou <[email protected]>
* gas/mips/ulh.d: Adjust for ulh and ulhu macro assembly changes.
* gas/mips/mips.exp: Define new "gpr_ilocks" architecture
property, and add it to mips2 (and later) chips and r3900.
* gas/mips/uld2.s: New test source file.
* gas/mips/ulh2.s: Likewise.
* gas/mips/ulw2.s: Likewise.
* gas/mips/uld2.l: New test stderr listing.
* gas/mips/ulh2.l: Likewise.
* gas/mips/ulw2.l: Likewise.
* gas/mips/uld2-eb.d: New test.
* gas/mips/uld2-el.d: Likewise.
* gas/mips/ulh2-eb.d: Likewise.
* gas/mips/ulh2-el.d: Likewise.
* gas/mips/ulw2-eb-ilocks.d: Likewise.
* gas/mips/ulw2-eb.d: Likewise.
* gas/mips/ulw2-el-ilocks.d: Likewise.
* gas/mips/ulw2-el.d: Likewise.
* gas/mips/mips.exp: Run new tests for appropriate architectures.
Nick Clifton [Wed, 2 Apr 2003 17:39:24 +0000 (17:39 +0000)]
pe-dll.c (pe_detail_list): arm-pe targets use underscores.
(process_def_file): Don't create an export section if there are no exports and
we're building an exe.
(pe_dll_build_sections): Ditto
(pe_dll_fill_sections): Conditionalize setting abfd->dll true on info->shared
emultempl/pe.em (gld_${EMULATION_NAME}_after_open): If i386pe or armpe, call
pe_dll_build_section() for both exe's and dll's, not just dll's. Don't call
pe_dll_build_section() if link_info.relocateable.
(gld_${EMULATION_NAME}_finish): For all targets except shpe and mipspe, call
pe_dll_fill_sections() for both exe's and dll's, not just dll's. Don't call
pe_dll_fill_sections() if link_info.relocateable.
* Makefile.in (d10v-tdep.o): Update dependencies.
* d10v-tdep.c: Include "frame-base.h".
(d10v_frame_unwind): Make constant.
(d10v_frame_base_address): New function.
(d10v_frame_base): New variable.
(d10v_gdbarch_init): Set frame_base default.
(struct d10v_unwind_cache): Add the field "prev_sp". Update
comment for base.
(d10v_frame_unwind_cache): Set and use "prev_sp".
(d10v_frame_this_id): Use the previous frame's inner most stack
address and this frame's func address for the frame ID. Use
frame_id_build. Don't analyze beyond the current instruction.