/* Target-dependent code for GNU/Linux UltraSPARC.
- Copyright (C) 2003-2017 Free Software Foundation, Inc.
+ Copyright (C) 2003-2019 Free Software Foundation, Inc.
This file is part of GDB.
SIGTRAMP_FRAME,
4,
{
- { 0x82102065, -1 }, /* mov __NR_rt_sigreturn, %g1 */
- { 0x91d0206d, -1 }, /* ta 0x6d */
- { TRAMP_SENTINEL_INSN, -1 }
+ { 0x82102065, ULONGEST_MAX }, /* mov __NR_rt_sigreturn, %g1 */
+ { 0x91d0206d, ULONGEST_MAX }, /* ta 0x6d */
+ { TRAMP_SENTINEL_INSN, ULONGEST_MAX }
},
sparc64_linux_sigframe_init
};
CORE_ADDR addr = 0;
long si_code = 0;
- TRY
+ try
{
/* Evaluate si_code to see if the segfault is ADI related. */
si_code = parse_and_eval_long ("$_siginfo.si_code\n");
if (si_code >= SEGV_ACCADI && si_code <= SEGV_ADIPERR)
addr = parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr");
}
- CATCH (exception, RETURN_MASK_ALL)
+ catch (const gdb_exception &exception)
{
return;
}
- END_CATCH
/* Print out ADI event based on sig_code value */
switch (si_code)
static void
sparc64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
{
- struct gdbarch_tdep *tdep = gdbarch_tdep (get_regcache_arch (regcache));
+ struct gdbarch_tdep *tdep = gdbarch_tdep (regcache->arch ());
ULONGEST state;
regcache_cooked_write_unsigned (regcache, tdep->pc_regnum, pc);
static LONGEST
sparc64_linux_get_syscall_number (struct gdbarch *gdbarch,
- ptid_t ptid)
+ thread_info *thread)
{
- struct regcache *regcache = get_thread_regcache (ptid);
+ struct regcache *regcache = get_thread_regcache (thread);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
/* The content of a register. */
gdb_byte buf[8];
/* Getting the system call number from the register.
When dealing with the sparc architecture, this information
is stored at the %g1 register. */
- regcache_cooked_read (regcache, SPARC_G1_REGNUM, buf);
+ regcache->cooked_read (SPARC_G1_REGNUM, buf);
ret = extract_signed_integer (buf, 8, byte_order);