/* Target-dependent code for FreeBSD, architecture-independent.
- Copyright (C) 2002-2019 Free Software Foundation, Inc.
+ Copyright (C) 2002-2020 Free Software Foundation, Inc.
This file is part of GDB.
all architectures.
Note that FreeBSD 7.0 used an older version of this structure
- (struct kinfo_ovmentry), but the NT_FREEBSD_PROCSTAT_VMMAP core
+ (struct kinfo_vmentry), but the NT_FREEBSD_PROCSTAT_VMMAP core
dump note wasn't introduced until FreeBSD 9.2. As a result, the
core dump note has always used the 7.1 and later structure
format. */
{
struct regcache *regcache;
- regcache = get_thread_arch_regcache (info->ptid, args->gdbarch);
+ regcache = get_thread_arch_regcache (info->inf->process_target (),
+ info->ptid, args->gdbarch);
target_fetch_registers (regcache, -1);
if (get_exec_file (0))
{
const char *fname = lbasename (get_exec_file (0));
- char *psargs = xstrdup (fname);
+ std::string psargs = fname;
- if (get_inferior_args ())
- psargs = reconcat (psargs, psargs, " ", get_inferior_args (),
- (char *) NULL);
+ const char *infargs = get_inferior_args ();
+ if (infargs != NULL)
+ psargs = psargs + " " + infargs;
note_data = elfcore_write_prpsinfo (obfd, note_data, note_size,
- fname, psargs);
+ fname, psargs.c_str ());
}
/* Thread register information. */
/* For local sockets, print out the first non-nul path
rather than both paths. */
- const struct fbsd_sockaddr_un *sun
+ const struct fbsd_sockaddr_un *saddr_un
= reinterpret_cast<const struct fbsd_sockaddr_un *> (kf_sa_local);
- if (sun->sun_path[0] == 0)
- sun = reinterpret_cast<const struct fbsd_sockaddr_un *>
+ if (saddr_un->sun_path[0] == 0)
+ saddr_un = reinterpret_cast<const struct fbsd_sockaddr_un *>
(kf_sa_peer);
- printf_filtered ("%s", sun->sun_path);
+ printf_filtered ("%s", saddr_un->sun_path);
break;
}
case FBSD_AF_INET:
sec, value);
printf_filtered ("stime, children: %s.%06d\n", plongest (sec), (int) value);
printf_filtered ("'nice' value: %d\n",
- bfd_get_signed_8 (core_bfd, descdata + kp->ki_nice));
+ (int) bfd_get_signed_8 (core_bfd, descdata + kp->ki_nice));
fbsd_core_fetch_timeval (gdbarch, descdata + kp->ki_start, sec, value);
printf_filtered ("Start time: %s.%06d\n", plongest (sec), (int) value);
printf_filtered ("Virtual memory size: %s kB\n",
TAG (EHDRFLAGS, _("ELF header e_flags"), AUXV_FORMAT_HEX);
TAG (HWCAP, _("Machine-dependent CPU capability hints"), AUXV_FORMAT_HEX);
TAG (HWCAP2, _("Extension of AT_HWCAP"), AUXV_FORMAT_HEX);
+ TAG (BSDFLAGS, _("ELF BSD flags"), AUXV_FORMAT_HEX);
}
fprint_auxv_entry (file, name, description, format, type, val);
/* union sigval */
sigval_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_UNION);
- TYPE_NAME (sigval_type) = xstrdup ("sigval");
+ sigval_type->set_name (xstrdup ("sigval"));
append_composite_type_field (sigval_type, "sival_int", int_type);
append_composite_type_field (sigval_type, "sival_ptr", void_ptr_type);
/* struct siginfo */
siginfo_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT);
- TYPE_NAME (siginfo_type) = xstrdup ("siginfo");
+ siginfo_type->set_name (xstrdup ("siginfo"));
append_composite_type_field (siginfo_type, "si_signo", int_type);
append_composite_type_field (siginfo_type, "si_errno", int_type);
append_composite_type_field (siginfo_type, "si_code", int_type);
language_c, NULL).symbol;
if (obj_entry_sym == NULL)
error (_("Unable to find Struct_Obj_Entry symbol"));
- data->off_linkmap = lookup_struct_elt (SYMBOL_TYPE(obj_entry_sym),
+ data->off_linkmap = lookup_struct_elt (SYMBOL_TYPE (obj_entry_sym),
"linkmap", 0).offset / 8;
- data->off_tlsindex = lookup_struct_elt (SYMBOL_TYPE(obj_entry_sym),
+ data->off_tlsindex = lookup_struct_elt (SYMBOL_TYPE (obj_entry_sym),
"tlsindex", 0).offset / 8;
data->rtld_offsets_valid = true;
return;
set_gdbarch_get_syscall_number (gdbarch, fbsd_get_syscall_number);
}
+void _initialize_fbsd_tdep ();
void
-_initialize_fbsd_tdep (void)
+_initialize_fbsd_tdep ()
{
fbsd_gdbarch_data_handle =
gdbarch_data_register_post_init (init_fbsd_gdbarch_data);