|
GDB (xrefs)
|
#include "defs.h"#include "doublest.h"#include "floatformat.h"#include "frame.h"#include "gdbcore.h"#include "inferior.h"#include "language.h"#include "regcache.h"#include "value.h"#include "gdb_assert.h"#include "gdb_string.h"#include "i386-tdep.h"#include "i387-tdep.h"#include "i386-xstate.h"Go to the source code of this file.
| #define FSAVE_ADDR | ( | tdep, | |
| fsave, | |||
| regnum | |||
| ) | (fsave + fsave_offset[regnum - I387_ST0_REGNUM (tdep)]) |
Definition at line 441 of file i387-tdep.c.
Referenced by i387_collect_fsave(), and i387_supply_fsave().
| #define FXSAVE_ADDR | ( | tdep, | |
| fxsave, | |||
| regnum | |||
| ) | (fxsave + fxsave_offset[regnum - I387_ST0_REGNUM (tdep)]) |
Definition at line 580 of file i387-tdep.c.
Referenced by i387_collect_fxsave(), i387_collect_xsave(), i387_supply_fxsave(), and i387_supply_xsave().
| #define FXSAVE_MXCSR_ADDR | ( | fxsave | ) | (fxsave + 24) |
Definition at line 588 of file i387-tdep.c.
Referenced by i387_collect_fxsave(), i387_collect_xsave(), i387_supply_fxsave(), and i387_supply_xsave().
| #define XSAVE_AVXH_ADDR | ( | tdep, | |
| xsave, | |||
| regnum | |||
| ) | (xsave + xsave_avxh_offset[regnum - I387_YMM0H_REGNUM (tdep)]) |
Definition at line 766 of file i387-tdep.c.
Referenced by i387_collect_xsave(), and i387_supply_xsave().
| #define XSAVE_XSTATE_BV_ADDR | ( | xsave | ) | (xsave + 512) |
Definition at line 740 of file i387-tdep.c.
Referenced by i387_collect_xsave(), and i387_supply_xsave().
| void i387_collect_fsave | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| void * | fsave | ||
| ) |
Definition at line 505 of file i387-tdep.c.
References FSAVE_ADDR, gdb_assert, gdbarch_tdep(), get_regcache_arch(), I386_ST0_REGNUM, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, memcpy(), regcache_raw_collect(), gdbarch_tdep::regs, and gdbarch_tdep::st0_regnum.
Referenced by fill_fpregset(), go32_store_registers(), i386_collect_fpregset(), i386bsd_store_inferior_registers(), i386nto_regset_fill(), store_fpregs(), and store_register().
| void i387_collect_fxsave | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| void * | fxsave | ||
| ) |
Definition at line 681 of file i387-tdep.c.
References FXSAVE_ADDR, FXSAVE_MXCSR_ADDR, gdb_assert, gdbarch_tdep(), get_regcache_arch(), I386_ST0_REGNUM, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_FTAG_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, memcpy(), gdbarch_tdep::num_xmm_regs, regcache_raw_collect(), gdbarch_tdep::regs, and gdbarch_tdep::st0_regnum.
Referenced by amd64_collect_fxsave(), i386_collect_fpregset(), i386_darwin_store_inferior_registers(), i386bsd_store_inferior_registers(), and i386nto_regset_fill().
| void i387_collect_xsave | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| void * | xsave, | ||
| int | gcore | ||
| ) |
Definition at line 979 of file i387-tdep.c.
References _, all, check(), FXSAVE_ADDR, FXSAVE_MXCSR_ADDR, gdb_assert, gdbarch_tdep(), get_regcache_arch(), I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, I386_XSTATE_AVX, I386_XSTATE_SIZE, I386_XSTATE_SSE, I386_XSTATE_X87, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_FTAG_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, I387_YMM0H_REGNUM, I387_YMMENDH_REGNUM, internal_error(), memcmp(), memcpy(), memset(), gdbarch_tdep::num_xmm_regs, p, regcache_raw_collect(), gdbarch_tdep::regs, gdbarch_tdep::st0_regnum, gdbarch_tdep::xcr0, XSAVE_AVXH_ADDR, gdbarch_tdep::xsave_xcr0_offset, and XSAVE_XSTATE_BV_ADDR.
Referenced by amd64_collect_xsave(), i386_collect_xstateregset(), and store_xstateregs().
| int i387_convert_register_p | ( | struct gdbarch * | gdbarch, |
| int | regnum, | ||
| struct type * | type | ||
| ) |
Definition at line 341 of file i387-tdep.c.
References i386_fp_regnum_p(), and i387_ext_type().
Referenced by amd64_init_abi(), and i386_convert_register_p().
| void i387_print_float_info | ( | struct gdbarch * | gdbarch, |
| struct ui_file * | file, | ||
| struct frame_info * | frame, | ||
| const char * | args | ||
| ) |
Definition at line 218 of file i387-tdep.c.
References _, fprintf_filtered(), fputs_filtered(), gdb_assert, gdbarch_tdep(), get_frame_arch(), get_frame_register_value(), hex_string_custom(), I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FISEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_FOSEG_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_ST0_REGNUM, print_i387_control_word(), print_i387_ext(), print_i387_status_word(), read_frame_register_unsigned(), regnum, ULONGEST, value_contents(), and value_entirely_available().
Referenced by i386_gdbarch_init().
| int i387_register_to_value | ( | struct frame_info * | frame, |
| int | regnum, | ||
| struct type * | type, | ||
| gdb_byte * | to, | ||
| int * | optimizedp, | ||
| int * | unavailablep | ||
| ) |
Definition at line 361 of file i387-tdep.c.
References _, convert_typed_floating(), from, gdb_assert, get_frame_arch(), get_frame_register_bytes(), i386_fp_regnum_p(), I386_MAX_REGISTER_SIZE, i387_ext_type(), TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, and warning().
Referenced by amd64_init_abi(), and i386_register_to_value().
| void i387_return_value | ( | struct gdbarch * | gdbarch, |
| struct regcache * | regcache | ||
| ) |
Definition at line 1271 of file i387-tdep.c.
References gdbarch_tdep(), I387_FSTAT_REGNUM, I387_FTAG_REGNUM, regcache_raw_read_unsigned(), regcache_raw_write_unsigned(), and ULONGEST.
Referenced by amd64_return_value().
| void i387_supply_fsave | ( | struct regcache * | regcache, |
| int | regnum, | ||
| const void * | fsave | ||
| ) |
Definition at line 450 of file i387-tdep.c.
References FSAVE_ADDR, gdb_assert, gdbarch_byte_order(), gdbarch_tdep(), get_regcache_arch(), I386_ST0_REGNUM, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, memcpy(), regcache_raw_supply(), gdbarch_tdep::regs, gdbarch_tdep::st0_regnum, and store_unsigned_integer().
Referenced by fetch_fpregs(), fetch_register(), go32_fetch_registers(), i386_supply_fpregset(), i386bsd_fetch_inferior_registers(), i386nto_supply_fpregset(), i386obsd_aout_supply_regset(), and supply_fpregset().
| void i387_supply_fxsave | ( | struct regcache * | regcache, |
| int | regnum, | ||
| const void * | fxsave | ||
| ) |
Definition at line 598 of file i387-tdep.c.
References FXSAVE_ADDR, FXSAVE_MXCSR_ADDR, gdb_assert, gdbarch_tdep(), get_regcache_arch(), I386_ST0_REGNUM, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, i387_tag(), I387_XMM0_REGNUM, memcpy(), gdbarch_tdep::num_xmm_regs, regcache_raw_supply(), gdbarch_tdep::regs, and gdbarch_tdep::st0_regnum.
Referenced by amd64_supply_fxsave(), i386_darwin_fetch_inferior_registers(), i386_supply_fpregset(), i386bsd_fetch_inferior_registers(), and i386nto_supply_fpregset().
| void i387_supply_xsave | ( | struct regcache * | regcache, |
| int | regnum, | ||
| const void * | xsave | ||
| ) |
Definition at line 772 of file i387-tdep.c.
References all, FXSAVE_ADDR, FXSAVE_MXCSR_ADDR, gdb_assert, gdbarch_tdep(), get_regcache_arch(), I386_ST0_REGNUM, I386_XSTATE_AVX, I386_XSTATE_AVX_MASK, I386_XSTATE_SSE, I386_XSTATE_X87, I387_FCTRL_REGNUM, I387_FIOFF_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, i387_tag(), I387_XMM0_REGNUM, I387_YMM0H_REGNUM, I387_YMMENDH_REGNUM, MAX_REGISTER_SIZE, memcpy(), gdbarch_tdep::num_xmm_regs, regcache_raw_supply(), gdbarch_tdep::regs, gdbarch_tdep::st0_regnum, gdbarch_tdep::xcr0, XSAVE_AVXH_ADDR, and XSAVE_XSTATE_BV_ADDR.
Referenced by amd64_supply_xsave(), fetch_xstateregs(), and i386_supply_xstateregset().
Definition at line 1223 of file i387-tdep.c.
Referenced by i387_supply_fxsave(), and i387_supply_xsave().
| void i387_value_to_register | ( | struct frame_info * | frame, |
| int | regnum, | ||
| struct type * | type, | ||
| const gdb_byte * | from | ||
| ) |
Definition at line 393 of file i387-tdep.c.
References _, convert_typed_floating(), gdb_assert, get_frame_arch(), i386_fp_regnum_p(), I386_MAX_REGISTER_SIZE, i387_ext_type(), put_frame_register(), to, TYPE_CODE, TYPE_CODE_FLT, and warning().
Referenced by amd64_init_abi(), and i386_value_to_register().
| static void print_i387_control_word | ( | int | control_p, |
| unsigned int | control, | ||
| struct ui_file * | file | ||
| ) | [static] |
Definition at line 157 of file i387-tdep.c.
References _, fprintf_filtered(), fputs_filtered(), and hex_string_custom().
Referenced by i387_print_float_info().
| static void print_i387_ext | ( | struct gdbarch * | gdbarch, |
| const gdb_byte * | raw, | ||
| struct ui_file * | file | ||
| ) | [static] |
Definition at line 65 of file i387-tdep.c.
References fprintf_filtered(), fputs_filtered(), fputs_unfiltered(), and print_i387_value().
Referenced by i387_print_float_info().
| static void print_i387_status_word | ( | int | status_p, |
| unsigned int | status, | ||
| struct ui_file * | file | ||
| ) | [static] |
Definition at line 119 of file i387-tdep.c.
References _, fprintf_filtered(), fputs_filtered(), and hex_string_custom().
Referenced by i387_print_float_info().
| static void print_i387_value | ( | struct gdbarch * | gdbarch, |
| const gdb_byte * | raw, | ||
| struct ui_file * | file | ||
| ) | [static] |
Definition at line 40 of file i387-tdep.c.
References extract_typed_floating(), fprintf_filtered(), and i387_ext_type().
Referenced by print_i387_ext().
int fsave_offset[] [static] |
{
28 + 0 * 10,
28 + 1 * 10,
28 + 2 * 10,
28 + 3 * 10,
28 + 4 * 10,
28 + 5 * 10,
28 + 6 * 10,
28 + 7 * 10,
0,
4,
8,
16,
12,
24,
20,
18
}
Definition at line 421 of file i387-tdep.c.
int fxsave_offset[] [static] |
Definition at line 544 of file i387-tdep.c.
int xsave_avxh_offset[] [static] |
{
576 + 0 * 16,
576 + 1 * 16,
576 + 2 * 16,
576 + 3 * 16,
576 + 4 * 16,
576 + 5 * 16,
576 + 6 * 16,
576 + 7 * 16,
576 + 8 * 16,
576 + 9 * 16,
576 + 10 * 16,
576 + 11 * 16,
576 + 12 * 16,
576 + 13 * 16,
576 + 14 * 16,
576 + 15 * 16
}
Definition at line 746 of file i387-tdep.c.
1.7.6.1