/* Target-dependent code for GNU/Linux x86-64.
- Copyright (C) 2001-2019 Free Software Foundation, Inc.
+ Copyright (C) 2001-2020 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.
#include "amd64-linux-tdep.h"
#include "i386-linux-tdep.h"
#include "linux-tdep.h"
-#include "common/x86-xstate.h"
+#include "gdbsupport/x86-xstate.h"
#include "amd64-tdep.h"
#include "solib-svr4.h"
static void
amd64_dtrace_parse_probe_argument (struct gdbarch *gdbarch,
- struct parser_state *pstate,
+ struct expr_builder *builder,
int narg)
{
struct stoken str;
int regno = arg_reg_map[narg];
const char *regname = user_reg_map_regnum_to_name (gdbarch, regno);
- write_exp_elt_opcode (pstate, OP_REGISTER);
+ write_exp_elt_opcode (builder, OP_REGISTER);
str.ptr = regname;
str.length = strlen (regname);
- write_exp_string (pstate, str);
- write_exp_elt_opcode (pstate, OP_REGISTER);
+ write_exp_string (builder, str);
+ write_exp_elt_opcode (builder, OP_REGISTER);
}
else
{
const char *regname = user_reg_map_regnum_to_name (gdbarch, AMD64_RSP_REGNUM);
/* Displacement. */
- write_exp_elt_opcode (pstate, OP_LONG);
- write_exp_elt_type (pstate, builtin_type (gdbarch)->builtin_long);
- write_exp_elt_longcst (pstate, narg - 6);
- write_exp_elt_opcode (pstate, OP_LONG);
+ write_exp_elt_opcode (builder, OP_LONG);
+ write_exp_elt_type (builder, builtin_type (gdbarch)->builtin_long);
+ write_exp_elt_longcst (builder, narg - 6);
+ write_exp_elt_opcode (builder, OP_LONG);
/* Register: SP. */
- write_exp_elt_opcode (pstate, OP_REGISTER);
+ write_exp_elt_opcode (builder, OP_REGISTER);
str.ptr = regname;
str.length = strlen (regname);
- write_exp_string (pstate, str);
- write_exp_elt_opcode (pstate, OP_REGISTER);
+ write_exp_string (builder, str);
+ write_exp_elt_opcode (builder, OP_REGISTER);
- write_exp_elt_opcode (pstate, BINOP_ADD);
+ write_exp_elt_opcode (builder, BINOP_ADD);
/* Cast to long. */
- write_exp_elt_opcode (pstate, UNOP_CAST);
- write_exp_elt_type (pstate,
+ write_exp_elt_opcode (builder, UNOP_CAST);
+ write_exp_elt_type (builder,
lookup_pointer_type (builtin_type (gdbarch)->builtin_long));
- write_exp_elt_opcode (pstate, UNOP_CAST);
+ write_exp_elt_opcode (builder, UNOP_CAST);
- write_exp_elt_opcode (pstate, UNOP_IND);
+ write_exp_elt_opcode (builder, UNOP_IND);
}
}
GDB_OSABI_LINUX, amd64_linux_init_abi);
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x64_32,
GDB_OSABI_LINUX, amd64_x32_linux_init_abi);
-
-#if GDB_SELF_TEST
- struct
- {
- const char *xml;
- uint64_t mask;
- } xml_masks[] = {
- { "i386/amd64-linux.xml", X86_XSTATE_SSE_MASK },
- { "i386/amd64-avx-linux.xml", X86_XSTATE_AVX_MASK },
- { "i386/amd64-mpx-linux.xml", X86_XSTATE_MPX_MASK },
- { "i386/amd64-avx-mpx-linux.xml", X86_XSTATE_AVX_MPX_MASK },
- { "i386/amd64-avx-avx512-linux.xml", X86_XSTATE_AVX_AVX512_MASK },
- { "i386/amd64-avx-mpx-avx512-pku-linux.xml",
- X86_XSTATE_AVX_MPX_AVX512_PKU_MASK },
- { "i386/x32-linux.xml", X86_XSTATE_SSE_MASK },
- { "i386/x32-avx-linux.xml", X86_XSTATE_AVX_MASK },
- { "i386/x32-avx-avx512-linux.xml", X86_XSTATE_AVX_AVX512_MASK },
- };
-
- for (auto &a : xml_masks)
- {
- auto tdesc = amd64_linux_read_description (a.mask,
- startswith (a.xml,
- "i386/x32"));
-
- selftests::record_xml_tdesc (a.xml, tdesc);
- }
-#endif /* GDB_SELF_TEST */
}