|
GDB (xrefs)
|
#include "defs.h"#include "arch-utils.h"#include "dis-asm.h"#include "frame.h"#include "frame-base.h"#include "frame-unwind.h"#include "gdbcore.h"#include "gdbtypes.h"#include "regcache.h"#include "regset.h"#include "symtab.h"#include "trad-frame.h"#include "value.h"#include "gdb_assert.h"#include "gdb_string.h"#include "m88k-tdep.h"Go to the source code of this file.
| #define ADDU_OFFSET | ( | x | ) | ((unsigned)(x & 0xFFFF)) |
Definition at line 458 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
| #define BITMASK | ( | pos, | |
| width | |||
| ) | (((0x1 << (width)) - 1) << (pos)) |
Definition at line 453 of file m88k-tdep.c.
| #define EXTRACT_FIELD | ( | val, | |
| pos, | |||
| width | |||
| ) | ((val) >> (pos) & BITMASK (0, width)) |
Definition at line 454 of file m88k-tdep.c.
| #define ST_OFFSET | ( | x | ) | ((unsigned)((x) & 0xFFFF)) |
Definition at line 456 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
| #define ST_SRC | ( | x | ) | EXTRACT_FIELD ((x), 21, 5) |
Definition at line 457 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
| #define SUBU_OFFSET | ( | x | ) | ((unsigned)(x & 0xFFFF)) |
Definition at line 455 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
| M88K_PIA_SKIP | |
| M88K_PIA_NOTE_ST | |
| M88K_PIA_NOTE_STD | |
| M88K_PIA_NOTE_SP_ADJUSTMENT | |
| M88K_PIA_NOTE_FP_ASSIGNMENT | |
| M88K_PIA_NOTE_BRANCH | |
| M88K_PIA_NOTE_PROLOGUE_END |
Definition at line 463 of file m88k-tdep.c.
| void _initialize_m88k_tdep | ( | void | ) |
| static int m88k_8_byte_align_p | ( | struct type * | type | ) | [static] |
Definition at line 222 of file m88k-tdep.c.
References check_typedef(), m88k_floating_p(), m88k_integral_or_pointer_p(), m88k_structure_or_union_p(), TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.
Referenced by m88k_store_arguments().
| static CORE_ADDR m88k_addr_bits_remove | ( | struct gdbarch * | gdbarch, |
| CORE_ADDR | addr | ||
| ) | [static] |
Definition at line 89 of file m88k-tdep.c.
Referenced by m88k_gdbarch_init(), and m88k_unwind_pc().
| static CORE_ADDR m88k_analyze_prologue | ( | struct gdbarch * | gdbarch, |
| CORE_ADDR | pc, | ||
| CORE_ADDR | limit, | ||
| struct m88k_frame_cache * | cache | ||
| ) | [static] |
Definition at line 529 of file m88k-tdep.c.
References m88k_prologue_insn::action, trad_frame_saved_reg::addr, ADDU_OFFSET, m88k_frame_cache::fp_offset, gdbarch_byte_order(), m88k_prologue_insn::insn, m88k_fetch_instruction(), M88K_INSN_SIZE, M88K_PIA_NOTE_BRANCH, M88K_PIA_NOTE_FP_ASSIGNMENT, M88K_PIA_NOTE_PROLOGUE_END, M88K_PIA_NOTE_SP_ADJUSTMENT, M88K_PIA_NOTE_ST, M88K_PIA_NOTE_STD, M88K_PIA_SKIP, m88k_prologue_insn_table, M88K_R0_REGNUM, M88K_R1_REGNUM, M88K_R31_REGNUM, m88k_prologue_insn::mask, min, offset, regnum, m88k_frame_cache::saved_regs, m88k_frame_cache::sp_offset, ST_OFFSET, ST_SRC, SUBU_OFFSET, and ULONGEST.
Referenced by m88k_frame_cache(), and m88k_skip_prologue().
| static const gdb_byte* m88k_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
| CORE_ADDR * | pc, | ||
| int * | len | ||
| ) | [static] |
Definition at line 104 of file m88k-tdep.c.
Referenced by m88k_gdbarch_init().
| static struct frame_id m88k_dummy_id | ( | struct gdbarch * | arch, |
| struct frame_info * | this_frame | ||
| ) | [static, read] |
Definition at line 370 of file m88k-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), M88K_R31_REGNUM, and sp.
Referenced by m88k_gdbarch_init().
| static unsigned long m88k_fetch_instruction | ( | CORE_ADDR | pc, |
| enum bfd_endian | byte_order | ||
| ) | [static] |
Definition at line 42 of file m88k-tdep.c.
References read_memory_unsigned_integer().
Referenced by m88k_analyze_prologue().
| static int m88k_floating_p | ( | const struct type * | type | ) | [static] |
Definition at line 186 of file m88k-tdep.c.
References len, TYPE_CODE, TYPE_CODE_FLT, and TYPE_LENGTH.
Referenced by m88k_8_byte_align_p(), m88k_in_register_p(), and m88k_return_value().
| static CORE_ADDR m88k_frame_base_address | ( | struct frame_info * | this_frame, |
| void ** | this_cache | ||
| ) | [static] |
Definition at line 760 of file m88k-tdep.c.
References m88k_frame_cache::base, m88k_frame_cache::fp_offset, m88k_frame_cache(), and m88k_frame_cache::sp_offset.
| static struct m88k_frame_cache* m88k_frame_cache | ( | struct frame_info * | this_frame, |
| void ** | this_cache | ||
| ) | [static, read] |
Definition at line 653 of file m88k-tdep.c.
References trad_frame_saved_reg::addr, m88k_frame_cache::base, m88k_frame_cache::fp_offset, FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), m88k_analyze_prologue(), M88K_R0_REGNUM, M88K_R1_REGNUM, M88K_R30_REGNUM, M88K_R31_REGNUM, M88K_SXIP_REGNUM, m88k_frame_cache::pc, regnum, m88k_frame_cache::saved_regs, m88k_frame_cache::sp_offset, trad_frame_alloc_saved_regs(), and trad_frame_set_value().
Referenced by m88k_frame_base_address(), m88k_frame_prev_register(), and m88k_frame_this_id().
| static struct value* m88k_frame_prev_register | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| int | regnum | ||
| ) | [static, read] |
Definition at line 723 of file m88k-tdep.c.
References frame_unwind_got_constant(), m88k_frame_cache(), M88K_SFIP_REGNUM, M88K_SNIP_REGNUM, M88K_SXIP_REGNUM, release_value(), m88k_frame_cache::saved_regs, trad_frame_get_prev_register(), value_as_long(), and value_free().
| static void m88k_frame_this_id | ( | struct frame_info * | this_frame, |
| void ** | this_cache, | ||
| struct frame_id * | this_id | ||
| ) | [static] |
Definition at line 710 of file m88k-tdep.c.
References m88k_frame_cache::base, frame_id_build(), m88k_frame_cache(), and m88k_frame_cache::pc.
| static struct gdbarch* m88k_gdbarch_init | ( | struct gdbarch_info | info, |
| struct gdbarch_list * | arches | ||
| ) | [static, read] |
Definition at line 823 of file m88k-tdep.c.
References core_addr_lessthan(), floatformats_ieee_double, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), m88k_addr_bits_remove(), m88k_breakpoint_from_pc(), m88k_dummy_id(), M88K_NUM_REGS, m88k_push_dummy_call(), M88K_R31_REGNUM, m88k_register_name(), m88k_register_type(), m88k_regset_from_core_section(), m88k_return_value(), m88k_skip_prologue(), M88K_SXIP_REGNUM, m88k_unwind_pc(), m88k_write_pc(), set_gdbarch_addr_bits_remove(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_dummy_id(), set_gdbarch_inner_than(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_regset_from_core_section(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), and set_gdbarch_write_pc().
| static int m88k_in_register_p | ( | struct type * | type | ) | [static] |
Definition at line 246 of file m88k-tdep.c.
References m88k_floating_p(), m88k_integral_or_pointer_p(), m88k_structure_or_union_p(), and TYPE_LENGTH.
Referenced by m88k_store_arguments().
| static int m88k_integral_or_pointer_p | ( | const struct type * | type | ) | [static] |
Definition at line 153 of file m88k-tdep.c.
References len, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, and TYPE_LENGTH.
Referenced by m88k_8_byte_align_p(), m88k_in_register_p(), m88k_return_value(), and m88k_store_arguments().
| static CORE_ADDR m88k_push_dummy_call | ( | struct gdbarch * | gdbarch, |
| struct value * | function, | ||
| struct regcache * | regcache, | ||
| CORE_ADDR | bp_addr, | ||
| int | nargs, | ||
| struct value ** | args, | ||
| CORE_ADDR | sp, | ||
| int | struct_return, | ||
| CORE_ADDR | struct_addr | ||
| ) | [static] |
Definition at line 347 of file m88k-tdep.c.
References gdb_assert, M88K_R12_REGNUM, M88K_R1_REGNUM, M88K_R31_REGNUM, m88k_store_arguments(), and regcache_raw_write_unsigned().
Referenced by m88k_gdbarch_init().
| static const char* m88k_register_name | ( | struct gdbarch * | gdbarch, |
| int | regnum | ||
| ) | [static] |
Definition at line 52 of file m88k-tdep.c.
References gdbarch_tdep::register_names, and regnum.
Referenced by m88k_gdbarch_init().
| static struct type* m88k_register_type | ( | struct gdbarch * | gdbarch, |
| int | regnum | ||
| ) | [static, read] |
Definition at line 73 of file m88k-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), M88K_R1_REGNUM, M88K_R30_REGNUM, M88K_R31_REGNUM, M88K_SFIP_REGNUM, and M88K_SXIP_REGNUM.
Referenced by m88k_gdbarch_init().
| static struct regset* m88k_regset_from_core_section | ( | struct gdbarch * | gdbarch, |
| const char * | sect_name, | ||
| size_t | sect_size | ||
| ) | [static, read] |
Definition at line 812 of file m88k-tdep.c.
References m88k_gregset, and M88K_NUM_REGS.
Referenced by m88k_gdbarch_init().
| static enum return_value_convention m88k_return_value | ( | struct gdbarch * | gdbarch, |
| struct value * | function, | ||
| struct type * | type, | ||
| struct regcache * | regcache, | ||
| gdb_byte * | readbuf, | ||
| const gdb_byte * | writebuf | ||
| ) | [static] |
Definition at line 386 of file m88k-tdep.c.
References gdb_assert, len, m88k_floating_p(), m88k_integral_or_pointer_p(), M88K_R2_REGNUM, M88K_R3_REGNUM, memcpy(), regcache_cooked_read(), regcache_cooked_write(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, and TYPE_LENGTH.
Referenced by m88k_gdbarch_init().
| static CORE_ADDR m88k_skip_prologue | ( | struct gdbarch * | gdbarch, |
| CORE_ADDR | pc | ||
| ) | [static] |
Definition at line 633 of file m88k-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), m88k_analyze_prologue(), and m88k_max_prologue_size.
Referenced by m88k_gdbarch_init().
| static CORE_ADDR m88k_store_arguments | ( | struct regcache * | regcache, |
| int | nargs, | ||
| struct value ** | args, | ||
| CORE_ADDR | sp | ||
| ) | [static] |
Definition at line 258 of file m88k-tdep.c.
References align_down(), gdb_assert, get_regcache_arch(), len, m88k_8_byte_align_p(), m88k_in_register_p(), m88k_integral_or_pointer_p(), M88K_R2_REGNUM, regcache_raw_write(), regnum, TYPE_LENGTH, value_cast(), value_contents(), value_type(), and write_memory().
Referenced by m88k_push_dummy_call().
| static int m88k_structure_or_union_p | ( | const struct type * | type | ) | [static] |
Definition at line 205 of file m88k-tdep.c.
References TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by m88k_8_byte_align_p(), and m88k_in_register_p().
| static void m88k_supply_gregset | ( | const struct regset * | regset, |
| struct regcache * | regcache, | ||
| int | regnum, | ||
| const void * | gregs, | ||
| size_t | len | ||
| ) | [static] |
Definition at line 786 of file m88k-tdep.c.
References M88K_NUM_REGS, and regcache_raw_supply().
| static CORE_ADDR m88k_unwind_pc | ( | struct gdbarch * | gdbarch, |
| struct frame_info * | next_frame | ||
| ) | [static] |
Definition at line 114 of file m88k-tdep.c.
References frame_unwind_register_unsigned(), m88k_addr_bits_remove(), and M88K_SXIP_REGNUM.
Referenced by m88k_gdbarch_init().
| static void m88k_write_pc | ( | struct regcache * | regcache, |
| CORE_ADDR | pc | ||
| ) | [static] |
Definition at line 123 of file m88k-tdep.c.
References M88K_SFIP_REGNUM, M88K_SNIP_REGNUM, M88K_SXIP_REGNUM, and regcache_cooked_write_unsigned().
Referenced by m88k_gdbarch_init().
struct frame_base m88k_frame_base [static] |
{
&m88k_frame_unwind,
m88k_frame_base_address,
m88k_frame_base_address,
m88k_frame_base_address
}
Definition at line 770 of file m88k-tdep.c.
struct frame_unwind m88k_frame_unwind [static] |
{
NORMAL_FRAME,
default_frame_unwind_stop_reason,
m88k_frame_this_id,
m88k_frame_prev_register,
NULL,
default_frame_sniffer
}
Definition at line 748 of file m88k-tdep.c.
struct regset m88k_gregset [static] |
{
NULL,
m88k_supply_gregset
}
Definition at line 802 of file m88k-tdep.c.
Referenced by m88k_regset_from_core_section().
| const int m88k_max_prologue_size = 128 * M88K_INSN_SIZE |
Definition at line 627 of file m88k-tdep.c.
Referenced by m88k_skip_prologue().
Definition at line 483 of file m88k-tdep.c.
Referenced by m88k_analyze_prologue().
1.7.6.1