Mark Kettenis [Thu, 15 Aug 2002 22:51:40 +0000 (22:51 +0000)]
* NEWS: Mention that the i[3456]-*-aix target has been made obsolete.
* configure.host: Make i[3456]86-*-aix host obsolete.
* configure.tgt: Make i[3456]86-*-aix target obsolete.
* config/i386/i386aix.mh, config/i386/i386aix.mt,
config/i386/nm-i386aix.h, condig/i386/tm-i386aix.h,
config/i386/xm-i386aix.h: Make files obsolete.
* i386aix-nat.c: Make file obsolete.
* Makefile.in (ALLDEPFILES): Remove i386aix-nat.c.
(i386aix-nat.o): Make target obsolete.
Mark Kettenis [Thu, 15 Aug 2002 21:16:19 +0000 (21:16 +0000)]
* config/i386/tm-i386sco5.h: Include "i386/tm-i386v4.h" instead of
"i386/tm-i386.h", "i386/tm-i386v.h" and "config/tm-sysv.h".
Adjust a few comments to reflect reality a bit closer.
(KERNEL_U_SIZE, TARGET_HAS_HARDWARE_WATCHPOINTS,
TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUEABLE_WATCHPOINT,
HAVE_STEPPABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT,
target_insert_watchpoint, target_remove_watchpoint):
Move defines to ...
* config/i386/nm-i386sco5.h: ... here.
(kernel_u_size): Add prototype. Improve a few comments and add
protection against multiple inclusion.
Mark Kettenis [Thu, 15 Aug 2002 17:36:57 +0000 (17:36 +0000)]
* i387-tdep.h (i387_print_float_info): New prototype.
* i387-tdep.c (print_i387_value, print_i387_ext,
print_i387_status_word, print_i387_control_word): Add `struct
ui_file *' argument and use it for output.
(i387_print_float_info): Renamed from i387_float_info. Add
`struct gdbarch *' and `struct ui_file *' arguments and use the
latter for output.
* i386-tdep.c: Include "i387-tdep.h".
(i386_gdbarch_init): Set print_float_info.
* config/i386/tm-i386.h (i387_float_info): Remove prototype.
(FLOAT_INFO): Remove define.
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
missing check for whether the symbol is referenced by DSO before
unexporting it as an unneeded dynamic symbol.
Michael Snyder [Wed, 14 Aug 2002 19:17:39 +0000 (19:17 +0000)]
2002-08-13 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (mips_push_arguments): Rename to
mips_eabi_push_arguments, and tune for EABI.
(MIPS_REGS_HAVE_HOME_P): Delete.
(struct gdbarch_tdep): Remove mips_regs_have_home_p field.
(mips_gdbarch_init): Set gdbarch push_arguments for eabi.
Delete references to mips_regs_have_home_p.
Keith Seitz [Wed, 14 Aug 2002 17:43:16 +0000 (17:43 +0000)]
* configure.in: Move SUBDIRS to near top of the file so that
--enable options may add things to it.
If gdbtk is enabled, add gdbtk directory to SUBDIRS and configdirs.
* configure: Regenerate.
Stephane Carrez [Wed, 14 Aug 2002 08:14:30 +0000 (08:14 +0000)]
* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
instructions.
(m68hc11_direct_relax): New to define table of relaxable instructions.
(find_relaxable_insn): New, find a relaxable insn.
(compare_reloc): New to compare two relocs.
(m68hc11_elf_relax_section): New, relax text sections.
(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
(elf32_m68hc11_check_relocs): New function for GC support.
(elf32_m68hc11_relocate_section): New function for GC support.
(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
(elf_backend_check_relocs): Likewise.
(elf_backend_relocate_section): Likewise.
Michael Snyder [Wed, 14 Aug 2002 01:20:03 +0000 (01:20 +0000)]
2002-08-13 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (mips_o32o64_push_arguments): New function,
cloned from mips_push_arguments, tuned for o32/o64 ABI.
(mips_gdbarch_init): Set gdbarch_push_arguments to new func.
Andrew Cagney [Tue, 13 Aug 2002 23:06:40 +0000 (23:06 +0000)]
2002-08-13 Andrew Cagney <cagney@redhat.com>
* regcache.c (init_regcache_descr): Overallocate the
raw_register_valid_p array including space for NUM_PSEUDO_REGS.
(registers_changed): Replace NUM_REGS+NUM_PSEUDO_REGS with
num_raw_registers.
(set_register_cached): Add range checking assertions. Use
current_regcache.
Stephane Carrez [Tue, 13 Aug 2002 22:45:22 +0000 (22:45 +0000)]
* gas/m68hc11/all.exp: Run the new test.
* gas/m68hc11/insns12.s: New file to test specific 68HC12 insns.
* gas/m68hc11/insns12.d: New file.
* gas/m68hc11/branchs12.s: New test.
* gas/m68hc11/branchs12.d: New test.
* gas/m68hc11/all_insns.d: Dump the relocs to verify that they
are against symbols and not sections (for linker relaxation).
* gas/m68hc11/insns-dwarf2.d: Likewise.
* gas/m68hc11/insns.d: Likewise.
* gas/m68hc11/lbranch.d: Likewise.
* gas/m68hc11/lbranch-dwarf2.d: Likewise.
* gas/m68hc11/opers12.d: Likewise.
* gas/m68hc11/opers12-dwarf2.d: Likewise.
Stephane Carrez [Tue, 13 Aug 2002 22:20:50 +0000 (22:20 +0000)]
* config/tc-m68hc11.h (MD_PCREL_FROM_SECTION): Remove.
(TC_HANDLES_FX_DONE): Define to let md_apply_fix3 set fx_done flag
according to the reloc.
(tc_fix_adjustable, tc_m68hc11_fix_adjustable): Define.
(TC_FORCE_RELOCATION): Define.
(tc_m68hc11_force_relocation): Declare.
* config/tc-m68hc11.c (md_pseudo_table): Add relax command.
(s_m68hc11_relax): New function for relax group.
(build_insn, build_jump_insn): Emit a M68HC11_RL_JUMP reloc at
beginning of jump instruction.
(md_pcrel_from): Rename from md_pcrel_from_section and fix
address computation.
(tc-gen_reloc): Update.
(md_estimate_size_before_relax): Create the BFD_RELOC_16_PCREL as
PC-relative fixup.
(tc_m68hc11_force_relocation): New function, handle new relocs.
(tc_m68hc11_fix_adjustable): New to make sure there are enough
reloc for the linker relax pass.
(md_apply_fix3): Handle M68HC11_RL_JUMP, M68HC11_RL_GROUP
and VTABLE relocs.
Stephane Carrez [Tue, 13 Aug 2002 21:52:57 +0000 (21:52 +0000)]
* config/tc-m68hc11.c (m68hc11_elf_final_processing): New function.
(md_pseudo_table): Add .mode, .far and .interrupt pseudo op.
(s_m68hc11_mode): New function for .mode pseudo op.
(s_m68hc11_mark_symbol): New function for .far and .interrupt
pseudo op.
* config/tc-m68hc11.h (elf_tc_final_processing): Define.
(m68hc11_elf_final_processing): Declare.
Stephane Carrez [Tue, 13 Aug 2002 21:38:15 +0000 (21:38 +0000)]
* config/tc-m68hc11.c (md_begin): Take into account additional
page operand for call instruction.
(print_opcode_format): Likewise.
(check_range): Likewise for page range checking.
(get_operand): Don't skip a possible comma in operands.
(fixup8): Generate BFD_RELOC_M68HC11_PAGE reloc.
(fixup16): Likwise with BFD_RELOC_M68HC11_LO16.
(fixup24): New to handle call reloc.
(build_insn): Handle missing page operand for call instruction.
(find): Likewise.
(md_apply_fix3): Take into account new relocs.
(get_operand): Fix the mode for indexed indirect addressing.
(build_indexed_byte): Fix post index byte for indexed indirect mode.
Stephane Carrez [Tue, 13 Aug 2002 21:04:21 +0000 (21:04 +0000)]
Fix integration pb for:
* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
fix masks for PC-rel relocs.
(m68hc11_elf_ignore_reloc): New function.
Stephane Carrez [Tue, 13 Aug 2002 20:56:59 +0000 (20:56 +0000)]
* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
(_bfd_m68hc11_elf_set_private_flags): New function.
Use them to set/check/print ELF flags specific to 68HC11.
* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
(_bfd_m68hc12_elf_set_private_flags): New function.
Use them to set/check/print ELF flags specific to 68HC12.
Stephane Carrez [Tue, 13 Aug 2002 20:43:01 +0000 (20:43 +0000)]
* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
fix masks for PC-rel relocs.
(m68hc11_elf_ignore_reloc): New function.
* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
68HC12 banked addressing relocs.
(m68hc12_phys_addr): New to compute physical address of banked memory.
(m68hc12_phys_page): Likewise for page.
(m68hc12_addr_is_banked): New to see if address is in banked area.
(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
Stephane Carrez [Tue, 13 Aug 2002 19:09:01 +0000 (19:09 +0000)]
* m68hc11-opc.c: Update call operand to accept the page definition.
Identify instructions that are branches and calls to generate a
RL_JUMP relocation.
Stephane Carrez [Tue, 13 Aug 2002 19:01:25 +0000 (19:01 +0000)]
* m68hc11-dis.c (print_insn): Take into account 68HC12 memory
banks and fix disassembling of call instruction.
(print_indexed_operand): New param to tell whether
it was an indirect addressing operand (for disassembling call).
Stephane Carrez [Tue, 13 Aug 2002 17:24:50 +0000 (17:24 +0000)]
* m68hc11-tdep.c (M68HC12_NUM_PSEUDO_REGS): New define.
(M68HC12_HARD_PC_REGNUM): Define specific PC for 68HC12 (pseudo reg).
(m68hc11_pseudo_register_read): Compute the 68HC12 PC using the
real PC and the page number (if it's within the memory bank window).
(m68hc11_pseudo_register_write): Likewise when saving.
(m68hc11_register_name): Name the virtual pc 'pc' and the real one ppc.
(m68hc11_register_virtual_type): Return uint32 for virtual pc.
(m68hc11_register_raw_size): And use 32-bit for it.
(m68hc11_gdbarch_init): Use 32-bit address for 68HC12 if the
16K memory bank is used by the prog; also use the virtual pc.
Stephane Carrez [Tue, 13 Aug 2002 16:40:46 +0000 (16:40 +0000)]
* m68hc11-tdep.c (m68hc11_elf_make_msymbol_special): New function.
(m68hc11_gdbarch_init): Install it in gdbarch.
(MSYMBOL_SET_RTC, MSYMBOL_SET_RTI): New to set symbol specific flags.
(MSYMBOL_IS_RTC, MSYMBOL_IS_RTI): New to test these flags.
(MSYMBOL_SIZE): New for documentation.
(insn_return_kind): Enum to specify how a function returns.
(frame_extra_info): Cleanup and record the return mode.
(gdbarch_tdep, USE_PAGE_REGISTER): New to control the use of page
register in address computation.
(m68hc11_get_return_insn): New to obtain the return instruction used
by the function.
(m68hc11_frame_init_saved_regs): Take into account the return
instruction used by the function for far and interrupt functions.
(m68hc11_init_extra_frame_info): Take into account page register.
(m68hc11_frame_args_address): Adjust according to the return mode.
(show_regs): Print page register only when it's used.
Andrew Cagney [Tue, 13 Aug 2002 14:32:28 +0000 (14:32 +0000)]
2002-08-13 Andrew Cagney <cagney@redhat.com>
* i386-tdep.c (i386_register_name): Handle mmx registers.
(mmx_regnum_p): New function.
(i386_mmx_names): New array.
(mmx_num_regs): New variable.
(i386_pseudo_register_read): New function.
(i386_pseudo_register_write): New function.
(mmx_regnum_to_fp_regnum): New function. Code from Fernando Nasser.
* regcache.c (regcache_raw_read_unsigned): New function.
(regcache_raw_read_signed): New function.
* regcache.h (regcache_raw_read_unsigned): Declare.
(regcache_raw_read_signed): Declare.
H.J. Lu [Tue, 13 Aug 2002 13:39:02 +0000 (13:39 +0000)]
2002-08-13 H.J. Lu <hjl@gnu.org>
* objcopy.c (copy_object): Don't warn about the unsupported
architecture unless the input target is defaulted or the
output architecture is different from the input.
Stephane Carrez [Tue, 13 Aug 2002 13:02:25 +0000 (13:02 +0000)]
* m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
EF_M68HC11_ABI): Define for ABI specification.
(STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
linker and debugger.
(R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
(R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
relaxation.
Stephane Carrez [Tue, 13 Aug 2002 11:03:42 +0000 (11:03 +0000)]
* m68hc11-tdep.c (M6812_OP_PSHX, M6812_OP_PSHY): New defines.
(m6812_prolog): They can appear in 68HC12 function prologue.
(m68hc11_frame_chain): Cleanup.
Stephane Carrez [Tue, 13 Aug 2002 08:52:02 +0000 (08:52 +0000)]
* interp.c (sim_prepare_for_program): Look up the image for the
reset vector and set cpu_use_elf_start to 1 if not found.
(sim_open): Do not set cpu_use_elf_start.
Stephane Carrez [Tue, 13 Aug 2002 08:38:09 +0000 (08:38 +0000)]
* dv-m68hc11.c (m68hc11cpu_io_read_buffer): Translate memory
bank window to some virtual address to read from extended memory.
(m68hc11cpu_io_write_buffer): Likewise for writing.
(attach_m68hc11_regs): When use_bank property is defined, attached
to the 68HC12 16K memory bank window.
* interp.c (sim_hw_configure): Create memory region for banked
memory.
Stephane Carrez [Tue, 13 Aug 2002 07:46:09 +0000 (07:46 +0000)]
* m68hc11_sim.c (cpu_special): Handle call and rtc instructions.
* sim-main.h (M6812_CALL_INDIRECT): Add to enum.
(m6811_regs): Add page register.
(cpu_set_page, cpu_get_page): New macros.
(phys_to_virt): New function.
(cpu_get_indexed_operand_addr, cpu_return): Declare.
* gencode.c: Identify indirect addressing mode for call and fix daa.
(gen_function_entry): New param to tell if src8/dst8 locals are
necessary.
(gen_interpreter): Use it to avoid generation of unused variables.
* interp.c (sim_fetch_register): Allow to read page register; page
register, A, B and CCR are only 1 byte wide.
(sim_store_register): Likewise for writing.
* ld-sh/sh64/abi32.xd: Adjust as type of linker-script-symbols
is no longer set to object.
* ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/crange1.rd,
ld-sh/sh64/crange2.rd, ld-sh/sh64/crange3-cmpct.rd,
ld-sh/sh64/crange3-media.rd, ld-sh/sh64/crange3.rd,
ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shdl32.xd,
ld-sh/sh64/shdl64.xd: Likewise.
Aidan Skinner [Sun, 11 Aug 2002 18:15:49 +0000 (18:15 +0000)]
* ada-lang.c (ada_lookup_partial_symbol)
(to_fixed_variant_branch_type) (find_line_in_linetable): Fix
prototype names so that grep ^func works properly.
* ada-lang.c (ada_array_element_type)
(ada_lookup_partial_symbol): Fix typos in parameter list.
* ada-valprint.c (val_print_packed_array_elements) (ada_val_print_1):
Fix prototype names so that grep ^func works properly.
Alan Modra [Sat, 10 Aug 2002 14:49:48 +0000 (14:49 +0000)]
* config/tc-i386.c (tc_i386_fix_adjustable): Test OUTPUT_FLAVOR
for ELF, and don't bother checking ELF relocs when non-ELF.
(i386_immediate): Allow absolute_section expressions for aout.
(i386_displacement): Likewise. Also test bfd_is_com_section.
(md_estimate_size_before_relax): Test OUTPUT_FLAVOR for ELF.
(md_apply_fix3): Hack for bfd_install_relocation when fx_pcrel,
not when fx_addsy. Remove dead code.
Alan Modra [Sat, 10 Aug 2002 12:48:52 +0000 (12:48 +0000)]
* ld-discard/discard.exp: Don't run on linuxaout or linuxoldld.
* ld-linkonce/linkonce.exp: Likewise.
* ld-selective/sel-dump.exp: Likewise.
* ld-selective/selective.exp: Don't run on aout or bout.