/* Native-dependent code for FreeBSD.
- Copyright (C) 2002-2017 Free Software Foundation, Inc.
+ Copyright (C) 2002-2018 Free Software Foundation, Inc.
This file is part of GDB.
struct gdbarch *gdbarch = get_frame_arch (get_current_frame ());
/* Is the inferior 32-bit? If so, use the 32-bit siginfo size. */
- if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32)
+ if (gdbarch_long_bit (gdbarch) == 32)
return sizeof (struct siginfo32);
#endif
return sizeof (siginfo_t);
struct gdbarch *gdbarch = get_frame_arch (get_current_frame ());
/* Is the inferior 32-bit? If not, nothing to do. */
- if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word != 32)
+ if (gdbarch_long_bit (gdbarch) != 32)
return;
struct siginfo32 si32;
32-bits of the pointer value. */
#if _BYTE_ORDER == _BIG_ENDIAN
if (si->si_value.sival_int == 0)
- si32->si_value.sival_ptr = (uintptr_t) si->si_value.sival_ptr;
+ si32.si_value.sival_ptr = (uintptr_t) si->si_value.sival_ptr;
else
si32.si_value.sival_int = si->si_value.sival_int;
#else
if (nlwps == -1)
perror_with_name (("ptrace"));
- gdb::unique_xmalloc_ptr<lwpid_t> lwps (XCNEWVEC (lwpid_t, nlwps));
+ gdb::unique_xmalloc_ptr<lwpid_t[]> lwps (XCNEWVEC (lwpid_t, nlwps));
nlwps = ptrace (PT_GETLWPLIST, pid, (caddr_t) lwps.get (), nlwps);
if (nlwps == -1)
for (i = 0; i < nlwps; i++)
{
- lwpid_t lwp = lwps.get ()[i];
- ptid_t ptid = ptid_build (pid, lwp, 0);
+ ptid_t ptid = ptid_build (pid, lwps[i], 0);
if (!in_thread_list (ptid))
{
/* Don't add exited threads. Note that this is only called
when attaching to a multi-threaded process. */
- if (ptrace (PT_LWPINFO, lwp, (caddr_t) &pl, sizeof pl) == -1)
+ if (ptrace (PT_LWPINFO, lwps[i], (caddr_t) &pl, sizeof pl) == -1)
perror_with_name (("ptrace"));
if (pl.pl_flags & PL_FLAG_EXITED)
continue;
if (debug_fbsd_lwp)
fprintf_unfiltered (gdb_stdlog,
"FLWP: adding thread for LWP %u\n",
- lwp);
+ lwps[i]);
add_thread (ptid);
}
}
#ifdef HAVE_STRUCT_PTRACE_LWPINFO_PL_SYSCALL_CODE
static int
-fbsd_set_syscall_catchpoint (struct target_ops *self, int pid, int needed,
- int any_count, int table_size, int *table)
+fbsd_set_syscall_catchpoint (struct target_ops *self, int pid, bool needed,
+ int any_count,
+ gdb::array_view<const int> syscall_counts)
{
/* Ignore the arguments. inf-ptrace.c will use PT_SYSCALL which
add_target (t);
}
-/* Provide a prototype to silence -Wmissing-prototypes. */
-extern initialize_file_ftype _initialize_fbsd_nat;
-
void
_initialize_fbsd_nat (void)
{