mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
1d506c26d9
This commit is the result of the following actions: - Running gdb/copyright.py to update all of the copyright headers to include 2024, - Manually updating a few files the copyright.py script told me to update, these files had copyright headers embedded within the file, - Regenerating gdbsupport/Makefile.in to refresh it's copyright date, - Using grep to find other files that still mentioned 2023. If these files were updated last year from 2022 to 2023 then I've updated them this year to 2024. I'm sure I've probably missed some dates. Feel free to fix them up as you spot them.
137 lines
3.3 KiB
C
137 lines
3.3 KiB
C
/* Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
|
Contributed by ARM Ltd.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef NAT_AARCH64_LINUX_H
|
|
#define NAT_AARCH64_LINUX_H
|
|
|
|
#include <signal.h>
|
|
|
|
/* Defines ps_err_e, struct ps_prochandle. */
|
|
#include "gdb_proc_service.h"
|
|
|
|
typedef int compat_int_t;
|
|
typedef unsigned int compat_uptr_t;
|
|
|
|
typedef int compat_time_t;
|
|
typedef int compat_timer_t;
|
|
typedef int compat_clock_t;
|
|
|
|
struct compat_timeval
|
|
{
|
|
compat_time_t tv_sec;
|
|
int tv_usec;
|
|
};
|
|
|
|
typedef union compat_sigval
|
|
{
|
|
compat_int_t sival_int;
|
|
compat_uptr_t sival_ptr;
|
|
} compat_sigval_t;
|
|
|
|
typedef struct compat_siginfo
|
|
{
|
|
int si_signo;
|
|
int si_errno;
|
|
int si_code;
|
|
|
|
union
|
|
{
|
|
int _pad[((128 / sizeof (int)) - 3)];
|
|
|
|
/* kill() */
|
|
struct
|
|
{
|
|
unsigned int _pid;
|
|
unsigned int _uid;
|
|
} _kill;
|
|
|
|
/* POSIX.1b timers */
|
|
struct
|
|
{
|
|
compat_timer_t _tid;
|
|
int _overrun;
|
|
compat_sigval_t _sigval;
|
|
} _timer;
|
|
|
|
/* POSIX.1b signals */
|
|
struct
|
|
{
|
|
unsigned int _pid;
|
|
unsigned int _uid;
|
|
compat_sigval_t _sigval;
|
|
} _rt;
|
|
|
|
/* SIGCHLD */
|
|
struct
|
|
{
|
|
unsigned int _pid;
|
|
unsigned int _uid;
|
|
int _status;
|
|
compat_clock_t _utime;
|
|
compat_clock_t _stime;
|
|
} _sigchld;
|
|
|
|
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
|
|
struct
|
|
{
|
|
unsigned int _addr;
|
|
} _sigfault;
|
|
|
|
/* SIGPOLL */
|
|
struct
|
|
{
|
|
int _band;
|
|
int _fd;
|
|
} _sigpoll;
|
|
} _sifields;
|
|
} compat_siginfo_t;
|
|
|
|
#define cpt_si_pid _sifields._kill._pid
|
|
#define cpt_si_uid _sifields._kill._uid
|
|
#define cpt_si_timerid _sifields._timer._tid
|
|
#define cpt_si_overrun _sifields._timer._overrun
|
|
#define cpt_si_status _sifields._sigchld._status
|
|
#define cpt_si_utime _sifields._sigchld._utime
|
|
#define cpt_si_stime _sifields._sigchld._stime
|
|
#define cpt_si_ptr _sifields._rt._sigval.sival_ptr
|
|
#define cpt_si_addr _sifields._sigfault._addr
|
|
#define cpt_si_band _sifields._sigpoll._band
|
|
#define cpt_si_fd _sifields._sigpoll._fd
|
|
|
|
void aarch64_siginfo_from_compat_siginfo (siginfo_t *to,
|
|
compat_siginfo_t *from);
|
|
void aarch64_compat_siginfo_from_siginfo (compat_siginfo_t *to,
|
|
siginfo_t *from);
|
|
|
|
void aarch64_linux_prepare_to_resume (struct lwp_info *lwp);
|
|
|
|
void aarch64_linux_new_thread (struct lwp_info *lwp);
|
|
|
|
/* Function to call when a thread is being deleted. */
|
|
void aarch64_linux_delete_thread (struct arch_lwp_info *arch_lwp);
|
|
|
|
ps_err_e aarch64_ps_get_thread_area (struct ps_prochandle *ph,
|
|
lwpid_t lwpid, int idx, void **base,
|
|
int is_64bit_p);
|
|
|
|
/* Return the number of TLS registers in the NT_ARM_TLS set. This is only
|
|
used for aarch64 state. */
|
|
int aarch64_tls_register_count (int tid);
|
|
|
|
#endif /* NAT_AARCH64_LINUX_H */
|