X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Flinux-tdep.h;h=91c28738f52d3be8b69ec42508521ad27532991f;hb=7ef412cf72a197d68e532604cc1fa21351adc858;hp=2354603fd0d797901c669041a7e43679289ec424;hpb=f968fe80b09ddc88538db2250b367fc0074739fa;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h index 2354603fd0..91c28738f5 100644 --- a/gdb/linux-tdep.h +++ b/gdb/linux-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for GNU/Linux, architecture independent. - Copyright (C) 2009-2014 Free Software Foundation, Inc. + Copyright (C) 2009-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -24,21 +24,49 @@ struct regcache; +/* Enum used to define the extra fields of the siginfo type used by an + architecture. */ +enum linux_siginfo_extra_field_values +{ + /* Add bound fields into the segmentation fault field. */ + LINUX_SIGINFO_FIELD_ADDR_BND = 1 +}; + +/* Defines a type for the values defined in linux_siginfo_extra_field_values. */ +DEF_ENUM_FLAGS_TYPE (enum linux_siginfo_extra_field_values, + linux_siginfo_extra_fields); + +/* This function is suitable for architectures that + extend/override the standard siginfo in a specific way. */ +struct type *linux_get_siginfo_type_with_fields (struct gdbarch *gdbarch, + linux_siginfo_extra_fields); + typedef char *(*linux_collect_thread_registers_ftype) (const struct regcache *, ptid_t, bfd *, char *, int *, enum gdb_signal); -struct type *linux_get_siginfo_type (struct gdbarch *); - extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch, int signal); extern int linux_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal); +/* Default GNU/Linux implementation of `displaced_step_location', as + defined in gdbarch.h. Determines the entry point from AT_ENTRY in + the target auxiliary vector. */ +extern CORE_ADDR linux_displaced_step_location (struct gdbarch *gdbarch); + extern void linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch); extern int linux_is_uclinux (void); +/* Fetch the AT_HWCAP entry from the auxv vector for the given TARGET. On + error, 0 is returned. */ +extern CORE_ADDR linux_get_hwcap (struct target_ops *target); + +/* Fetch the AT_HWCAP2 entry from the auxv vector for the given TARGET. On + error, 0 is returned. */ +extern CORE_ADDR linux_get_hwcap2 (struct target_ops *target); + #endif /* linux-tdep.h */