/* GNU/Linux/AArch64 specific low level interface, for the remote server for
GDB.
- Copyright (C) 2009-2019 Free Software Foundation, Inc.
+ Copyright (C) 2009-2020 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.
#include "elf/common.h"
#include "ax.h"
#include "tracepoint.h"
+#include "debug.h"
#include <signal.h>
#include <sys/user.h>
{
struct regcache *regcache = get_thread_regcache (current_thread, 0);
- return regcache->tdesc->reg_defs.size () == AARCH64_SVE_NUM_REGS;
+ return tdesc_contains_feature (regcache->tdesc, "org.gnu.gdb.aarch64.sve");
}
static void
&pauth_regset[1]);
}
-/* Enable miscellaneous debugging output. The name is historical - it
- was originally used to debug LinuxThreads support. */
-extern int debug_threads;
-
/* Implementation of linux_target_ops method "get_pc". */
static CORE_ADDR
for (i = 30; i >= 0; i -= 2)
p += emit_stp_q_offset (p, i, i + 1, sp, i * 16);
- /* Push general puspose registers on the stack. Note that we do not need
+ /* Push general purpose registers on the stack. Note that we do not need
to push x31 as it represents the xzr register and not the stack
pointer in a STR instruction.
; This instruction is a normal store with memory ordering
; constraints. Thanks to this we do not have to put a data
; barrier instruction to make sure all data read and writes are done
- ; before this instruction is executed. Furthermore, this instrucion
+ ; before this instruction is executed. Furthermore, this instruction
; will trigger an event, letting other threads know they can grab
; the lock.
STLR xzr, [x0]
the current stack pointer in the frame pointer. This way, it is not
clobbered when calling C functions.
- Finally, throughtout every operation, we are using register x0 as the
+ Finally, throughout every operation, we are using register x0 as the
top of the stack, and x1 as a scratch register. */
p += emit_stp (p, x0, x1, sp, preindex_memory_operand (-2 * 16));