Commit Graph

35940 Commits

Author SHA1 Message Date
Stephane Carrez eb086b5940 * 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.
2002-08-13 21:52:57 +00:00
Andrew Cagney 0680b1201a 2002-08-13 Andrew Cagney <ac131313@redhat.com>
* gdb.texinfo (Maintenance Commands): Document "maint print
registers", "maint print raw-registers" and "maint print
cooked-registers".
2002-08-13 21:39:00 +00:00
Stephane Carrez 7bfda7ebd0 * 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.
2002-08-13 21:38:15 +00:00
Stephane Carrez 9b701e4403 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
(elf32_m68hc11_gc_sweep_hook): Likewise.
	(elf_backend_gc_mark_hook): Define for GC section support.
	(elf_backend_gc_sweep_hook): Likewise.
	(elf_backend_can_gc_sections): Likewise.

	* elf32-m68hc12.c: Likewise.
2002-08-13 21:15:47 +00:00
Stephane Carrez 7a897be4b1 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.
2002-08-13 21:04:21 +00:00
Stephane Carrez 96405e3cc3 * 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.
2002-08-13 20:56:59 +00:00
Stephane Carrez dae78fb09d * 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.
2002-08-13 20:43:01 +00:00
Stephane Carrez 3dbfec8644 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
	* bfd-in2.h: Regenerate.
2002-08-13 20:08:49 +00:00
Andrew Cagney 7b4c2dcea0 * i386-tdep.c (i386_gdbarch_init): Use
generic_unwind_get_saved_register.
2002-08-13 19:14:09 +00:00
Stephane Carrez 7eccd7f6f1 * m68hc11-opc.c: Update call operand to accept the page definition.
Identify instructions that are branches and calls to generate a
	RL_JUMP relocation.
2002-08-13 19:09:01 +00:00
Stephane Carrez f07534f64e * 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).
2002-08-13 19:01:25 +00:00
Stephane Carrez 030ad53bf6 * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
(M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
	M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
	memory banks.
	(M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
2002-08-13 19:00:40 +00:00
Kevin Buettner 1e03ad2088 * procfs.c (procfs_can_use_hw_breakpoint): New function.
(init_procfs_ops): Define ``to_can_use_hw_breakpoint'' for procfs
	target vector.
	* config/mips/nm-irix5.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT):
	Delete.  Add comment regarding this now-deleted target method.
2002-08-13 18:03:38 +00:00
Stephane Carrez 548bcbeca8 * 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.
2002-08-13 17:24:50 +00:00
Stephane Carrez 7df11f5981 * 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.
2002-08-13 16:40:46 +00:00
Stephane Carrez 5706502aab * m68hc11-tdep.c (HARD_PAGE_REGNUM): Define for 68HC12 page register.
(M68HC11_LAST_HARD_REG, m68hc11_register_names): Update.
	(m68hc11_register_virtual_type): Return a 8-bit type for 8-bit
	registers.
	(m68hc11_register_raw_size): Likewise.
2002-08-13 16:19:22 +00:00
Andrew Cagney 28fc674094 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.
2002-08-13 14:32:28 +00:00
Andrew Cagney a378f41926 2002-08-12 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_raw_read_as_address): Delete function.
(regcache_cooked_read_signed): New function.
(regcache_cooked_read_unsigned): New function.
* regcache.h (regcache_cooked_read_signed): Declare.
(regcache_cooked_read_unsigned): Declare.
(regcache_raw_read_as_address): Delete declaration.
* blockframe.c (generic_read_register_dummy): Use
regcache_cooked_read_unsigned.
* i386-tdep.c (i386_extract_struct_value_address): Use
regcache_cooked_read_unsigned.
2002-08-13 13:58:50 +00:00
H.J. Lu 212a3c4d9d 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.
2002-08-13 13:39:02 +00:00
Stephane Carrez 81967506b7 * m68hc11-tdep.c (m68hc11_gdbarch_init): Set int, double and long
double sizes according to ELF ABI flags.
	(gdbarch_tdep): Record elf_flags.
2002-08-13 13:10:42 +00:00
Stephane Carrez 338653f549 * 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.
2002-08-13 13:02:25 +00:00
Stephane Carrez ffe1f3ee3f * m68hc11-tdep.c (M6812_OP_PSHX, M6812_OP_PSHY): New defines.
(m6812_prolog): They can appear in 68HC12 function prologue.
	(m68hc11_frame_chain): Cleanup.
2002-08-13 11:03:42 +00:00
Stephane Carrez 099d1b506b * dv-m68hc11eepr.c (struct m68hc11eepr ): Use const char* for filename. 2002-08-13 09:01:16 +00:00
Stephane Carrez 31c7c532ab * 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.
2002-08-13 08:52:02 +00:00
Stephane Carrez 3976210097 * interp.c (sim_hw_configure): Return 1 for success.
(sim_prepare_for_program): Use the sim_hw_configure exit code to
	return SIM_RC_FAIL.
2002-08-13 08:47:18 +00:00
Stephane Carrez ca156d780d Fix english and ChangeLog entry 2002-08-13 08:40:32 +00:00
Stephane Carrez 7230d80931 * 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.
2002-08-13 08:38:09 +00:00
Stephane Carrez dcceded28a * interp.c (sim_hw_configure): Connect port-X to cpu-write-port.
* dv-m68hc11.c (m68hc11cpu_ports): Add cpu-write-port input.
	(m68hc11cpu_port_event): Handle CPU_WRITE_PORT event.
2002-08-13 08:10:45 +00:00
Stephane Carrez abea9e28ea * dv-m68hc11.c (m68hc11cpu_io_write): Fix to update IO mapping
when IO mapping changed, not when internal RAM mapping is changed.
2002-08-13 07:57:18 +00:00
Stephane Carrez 63f36def60 * 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.
2002-08-13 07:46:09 +00:00
Alan Modra bed69f0439 * header.sed: Strip tabs. 2002-08-13 02:37:47 +00:00
Alan Modra 3c6706bb5f * ld.texinfo (ALIGN): Remove power of 2 restriction. 2002-08-13 02:27:11 +00:00
Alan Modra c553bb910d * emulparams/elf32_dlx.sh (TARGET_PAGE_SIZE): Set to 1.
(MAXPAGESIZE): Set to 1.

	* ld.h (ALIGN_N): Delete.
	* ldexp.h (align_n): Declare.
	* ldexp.c (align_n): New function.
	(fold_binary): Use align_n instead of ALIGN_N.
	(exp_fold_tree): Likewise.
	* ldlang.c (lang_size_sections_1): Likewise.
	(lang_one_common): Likewise.
2002-08-13 02:08:26 +00:00
gdbadmin 8e7157081c *** empty log message *** 2002-08-13 00:00:33 +00:00
Alan Modra 0707b49f5a daily update 2002-08-13 00:00:06 +00:00
H.J. Lu 871da94f03 2002-08-12 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_add_default_symbol): Preserve section across
	elf_merge_symbol.
2002-08-12 19:23:33 +00:00
H.J. Lu 9c0921673d 2002-08-12 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers23.

	* ld-elfvers/vers23.c: New.
	* ld-elfvers/vers23.dsym: New.
	* ld-elfvers/vers23.ver: New.
	* ld-elfvers/vers23a.c: New.
	* ld-elfvers/vers23a.dsym: New.
	* ld-elfvers/vers23a.map: New.
	* ld-elfvers/vers23a.sym: New.
	* ld-elfvers/vers23a.ver: New.
	* ld-elfvers/vers23b.c: New.
	* ld-elfvers/vers23b.dsym: New.
	* ld-elfvers/vers23b.map: New.
	* ld-elfvers/vers23b.ver: New.
2002-08-12 19:21:59 +00:00
Andrew Cagney 98216c5d02 2002-08-12 Andrew Cagney <cagney@redhat.com>
* i386-tdep.h (i386_register_byte, i386_register_raw_size): Delete
declarations.
* i386-linux-tdep.c (i386_linux_register_byte): Delete function.
(i386_linux_register_raw_size): Delete function.
i386_linux_init_abi): Update.
* i386-tdep.c (i386_register_raw_size): Delete function.
(i386_register_byte): Delete function.
(i386_gdbarch_init): Update.
(i386_register_size): Delete array.
(i386_register_offset): Delete array.

* config/i386/tm-symmetry.h (REGISTER_BYTE): Delete macro.
(REGISTER_RAW_SIZE): Delete macro.
* config/i386/tm-ptx.h (REGISTER_RAW_SIZE): Delete macro.
(REGISTER_BYTE): Delete macro.
2002-08-12 19:05:33 +00:00
Hans-Peter Nilsson d1764264f9 * ld-sh/sh64/abi32.xd: Adjust whitespace in elf32 section
listing.
	* ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd,
	ld-sh/sh64/rel32.xd, ld-sh/sh64/shdl32.xd: Likewise.
2002-08-12 09:01:18 +00:00
Hans-Peter Nilsson 598b6dded7 * 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.
2002-08-12 08:51:10 +00:00
Richard Sandiford fdb987ee01 [gas/]
* config/tc-mips.c (mips_ip): Don't work out the value of
	constant %hi()s here.

[gas/testsuite/]
	* gas/mips/elf-consthilo.[sd]: New test.
	* gas/mips/mips.exp: Run it.
2002-08-12 08:33:42 +00:00
gdbadmin cf1d5986d8 *** empty log message *** 2002-08-12 00:00:32 +00:00
Alan Modra b20f52778d daily update 2002-08-12 00:00:04 +00:00
Aidan Skinner 3b19021e44 * 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.
2002-08-11 18:15:49 +00:00
gdbadmin 661757b496 *** empty log message *** 2002-08-11 00:00:33 +00:00
Alan Modra ef02b960a4 daily update 2002-08-11 00:00:04 +00:00
Alan Modra 31312f958e * 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.
2002-08-10 14:49:48 +00:00
Alan Modra 2548cbcc14 * 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.
2002-08-10 12:48:52 +00:00
Andrew Cagney b063e7a269 2002-08-10 Andrew Cagney <cagney@redhat.com>
Elena Zannoni  <ezannoni@redhat.com>
            Martin M. Hunt  <hunt@redhat.com>

* gdbtypes.c (build_builtin_type_vec128): Set the vector bit.
(build_builtin_type_vec128i): Set the vector bit.
* gdbtypes.h (builtin_type_vec64, builtin_type_vec64i): Declare.
* gdbtypes.c (builtin_type_vec64, builtin_type_vec64i): Define.
(build_builtin_type_vec64): New function.
(build_builtin_type_vec64i): New function.
(build_gdbtypes): Initialize builtin_type_vec64 and
builtin_type_vec64i.
2002-08-10 05:12:40 +00:00
Andrew Cagney a7e3c2ad4b 2002-08-09 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_dump): Compare the register offset
with REGISTER_BYTE.
* arch-utils.c (generic_register_byte): New function.
* arch-utils.h (generic_register_byte): Declare.
* gdbarch.sh (REGISTER_BYTE): Default to generic_register_byte.
* gdbarch.h, gdbarch.c: Regenerate.
2002-08-10 02:00:16 +00:00