mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 18:39:34 +08:00
darwin: Silence syscall deprecated declaration warning
This patch silences this warning: /Users/simark/src/binutils-gdb/gdb/darwin-nat.c:839:10: error: 'syscall' is deprecated: first deprecated in macOS 10.12 - syscall(2) is unsupported; please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost(). [-Werror,-Wdeprecated-declarations] res = syscall (SYS___pthread_kill, thread->gdb_port, nsignal); ^ /usr/include/unistd.h:745:6: note: 'syscall' has been explicitly marked deprecated here int syscall(int, ...); ^ The comment of the new pthread_kill function explains why we use the syscall function directly. include/ChangeLog: * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS): Define for clang. gdb/ChangeLog: * darwin-nat.c (darwin_pthread_kill): New function. (darwin_resume_thread): Use darwin_pthread_kill.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2018-07-05 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
|
* darwin-nat.c (darwin_pthread_kill): New function.
|
||||||
|
(darwin_resume_thread): Use darwin_pthread_kill.
|
||||||
|
|
||||||
2018-07-05 Tom de Vries <tdevries@suse.de>
|
2018-07-05 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
* macroexp.c (macro_buffer) <operator=>: New member function.
|
* macroexp.c (macro_buffer) <operator=>: New member function.
|
||||||
|
@ -809,13 +809,24 @@ darwin_send_reply (struct inferior *inf, darwin_thread_t *thread)
|
|||||||
priv->pending_messages--;
|
priv->pending_messages--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Wrapper around the __pthread_kill syscall. We use this instead of the
|
||||||
|
pthread_kill function to be able to send a signal to any kind of thread,
|
||||||
|
including GCD threads. */
|
||||||
|
|
||||||
|
static int
|
||||||
|
darwin_pthread_kill (darwin_thread_t *thread, int nsignal)
|
||||||
|
{
|
||||||
|
DIAGNOSTIC_PUSH;
|
||||||
|
DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS;
|
||||||
|
int res = syscall (SYS___pthread_kill, thread->gdb_port, nsignal);
|
||||||
|
DIAGNOSTIC_POP;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
|
darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
|
||||||
int step, int nsignal)
|
int step, int nsignal)
|
||||||
{
|
{
|
||||||
kern_return_t kret;
|
|
||||||
int res;
|
|
||||||
|
|
||||||
inferior_debug
|
inferior_debug
|
||||||
(3, _("darwin_resume_thread: state=%d, thread=0x%x, step=%d nsignal=%d\n"),
|
(3, _("darwin_resume_thread: state=%d, thread=0x%x, step=%d nsignal=%d\n"),
|
||||||
thread->msg_state, thread->gdb_port, step, nsignal);
|
thread->msg_state, thread->gdb_port, step, nsignal);
|
||||||
@ -827,8 +838,8 @@ darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
|
|||||||
&& thread->event.ex_data[0] == EXC_SOFT_SIGNAL)
|
&& thread->event.ex_data[0] == EXC_SOFT_SIGNAL)
|
||||||
{
|
{
|
||||||
/* Either deliver a new signal or cancel the signal received. */
|
/* Either deliver a new signal or cancel the signal received. */
|
||||||
res = PTRACE (PT_THUPDATE, inf->pid,
|
int res = PTRACE (PT_THUPDATE, inf->pid,
|
||||||
(caddr_t) (uintptr_t) thread->gdb_port, nsignal);
|
(caddr_t) (uintptr_t) thread->gdb_port, nsignal);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
inferior_debug (1, _("ptrace THUP: res=%d\n"), res);
|
inferior_debug (1, _("ptrace THUP: res=%d\n"), res);
|
||||||
}
|
}
|
||||||
@ -836,7 +847,7 @@ darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
|
|||||||
{
|
{
|
||||||
/* Note: ptrace is allowed only if the process is stopped.
|
/* Note: ptrace is allowed only if the process is stopped.
|
||||||
Directly send the signal to the thread. */
|
Directly send the signal to the thread. */
|
||||||
res = syscall (SYS___pthread_kill, thread->gdb_port, nsignal);
|
int res = darwin_pthread_kill (thread, nsignal);
|
||||||
inferior_debug (4, _("darwin_resume_thread: kill 0x%x %d: %d\n"),
|
inferior_debug (4, _("darwin_resume_thread: kill 0x%x %d: %d\n"),
|
||||||
thread->gdb_port, nsignal, res);
|
thread->gdb_port, nsignal, res);
|
||||||
thread->signaled = 1;
|
thread->signaled = 1;
|
||||||
@ -856,7 +867,7 @@ darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case DARWIN_STOPPED:
|
case DARWIN_STOPPED:
|
||||||
kret = thread_resume (thread->gdb_port);
|
kern_return_t kret = thread_resume (thread->gdb_port);
|
||||||
MACH_CHECK_ERROR (kret);
|
MACH_CHECK_ERROR (kret);
|
||||||
|
|
||||||
thread->msg_state = DARWIN_RUNNING;
|
thread->msg_state = DARWIN_RUNNING;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2018-07-05 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
|
* diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS):
|
||||||
|
Define for clang.
|
||||||
|
|
||||||
2018-07-02 Maciej W. Rozycki <macro@mips.com>
|
2018-07-02 Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
PR tdep/8282
|
PR tdep/8282
|
||||||
|
@ -35,6 +35,8 @@
|
|||||||
#if defined (__clang__) /* clang */
|
#if defined (__clang__) /* clang */
|
||||||
|
|
||||||
# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
|
# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
|
||||||
|
# define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS \
|
||||||
|
DIAGNOSTIC_IGNORE ("-Wdeprecated-declarations")
|
||||||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
|
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
|
||||||
DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
|
DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
|
||||||
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
|
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
|
||||||
@ -56,6 +58,10 @@
|
|||||||
# define DIAGNOSTIC_IGNORE_SELF_MOVE
|
# define DIAGNOSTIC_IGNORE_SELF_MOVE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS
|
||||||
|
# define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user