diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2023-02-08 15:36:23 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2023-02-08 15:46:02 -0500 |
commit | c583a2520616c2736cffc389c89a48b159366e6c (patch) | |
tree | b4925f26506fcee96c16119431c01760f05db95d /gdb/proc-api.c | |
parent | ca7f92c2f15b86b09c4a8ad14806bef666308d31 (diff) | |
download | fsf-binutils-gdb-users/simark/clang-format.zip fsf-binutils-gdb-users/simark/clang-format.tar.gz fsf-binutils-gdb-users/simark/clang-format.tar.bz2 |
Run clang-format.shusers/simark/clang-format
Change-Id: Ia948cc26d534b0dd02702244d52434b1a2093968
Diffstat (limited to 'gdb/proc-api.c')
-rw-r--r-- | gdb/proc-api.c | 370 |
1 files changed, 177 insertions, 193 deletions
diff --git a/gdb/proc-api.c b/gdb/proc-api.c index addda6d..9a0e031 100644 --- a/gdb/proc-api.c +++ b/gdb/proc-api.c @@ -30,9 +30,9 @@ #include <sys/types.h> #include <sys/procfs.h> -#include <sys/proc.h> /* for struct proc */ -#include <sys/user.h> /* for struct user */ -#include <fcntl.h> /* for O_RDWR etc. */ +#include <sys/proc.h> /* for struct proc */ +#include <sys/user.h> /* for struct user */ +#include <fcntl.h> /* for O_RDWR etc. */ #include "gdbsupport/gdb_wait.h" #include "proc-utils.h" @@ -42,37 +42,39 @@ following form. These tables can be used to map numeric values to their symbolic names and to a string that describes their specific use. */ -struct trans { - long value; /* The numeric value */ - const char *name; /* The equivalent symbolic value */ - const char *desc; /* Short description of value */ +struct trans +{ + long value; /* The numeric value */ + const char *name; /* The equivalent symbolic value */ + const char *desc; /* Short description of value */ }; -static bool procfs_trace = false; -static FILE *procfs_file = NULL; +static bool procfs_trace = false; +static FILE *procfs_file = NULL; static std::string procfs_filename = "procfs_trace"; static void prepare_to_trace (void) { - if (procfs_trace) /* if procfs tracing turned on */ - if (procfs_file == NULL) /* if output file not yet open */ - procfs_file = fopen (procfs_filename.c_str (), "a"); /* open output file */ + if (procfs_trace) /* if procfs tracing turned on */ + if (procfs_file == NULL) /* if output file not yet open */ + procfs_file + = fopen (procfs_filename.c_str (), "a"); /* open output file */ } static void -set_procfs_trace_cmd (const char *args, - int from_tty, struct cmd_list_element *c) +set_procfs_trace_cmd (const char *args, int from_tty, + struct cmd_list_element *c) { -#if 0 /* not sure what I might actually need to do here, if anything */ +#if 0 /* not sure what I might actually need to do here, if anything */ if (procfs_file) fflush (procfs_file); #endif } static void -set_procfs_file_cmd (const char *args, - int from_tty, struct cmd_list_element *c) +set_procfs_file_cmd (const char *args, int from_tty, + struct cmd_list_element *c) { /* Just changed the filename for procfs tracing. If a file was already open, close it. */ @@ -81,37 +83,36 @@ set_procfs_file_cmd (const char *args, procfs_file = NULL; } -static struct trans rw_table[] = { - { PCAGENT, "PCAGENT", "create agent lwp with regs from argument" }, - { PCCFAULT, "PCCFAULT", "clear current fault" }, - { PCCSIG, "PCCSIG", "clear current signal" }, - { PCDSTOP, "PCDSTOP", "post stop request" }, - { PCKILL, "PCKILL", "post a signal" }, - { PCNICE, "PCNICE", "set nice priority" }, - { PCREAD, "PCREAD", "read from the address space" }, - { PCWRITE, "PCWRITE", "write to the address space" }, - { PCRUN, "PCRUN", "make process/lwp runnable" }, - { PCSASRS, "PCSASRS", "set ancillary state registers" }, - { PCSCRED, "PCSCRED", "set process credentials" }, - { PCSENTRY, "PCSENTRY", "set traced syscall entry set" }, - { PCSET, "PCSET", "set modes" }, - { PCSEXIT, "PCSEXIT", "set traced syscall exit set" }, - { PCSFAULT, "PCSFAULT", "set traced fault set" }, - { PCSFPREG, "PCSFPREG", "set floating point registers" }, - { PCSHOLD, "PCSHOLD", "set signal mask" }, - { PCSREG, "PCSREG", "set general registers" }, - { PCSSIG, "PCSSIG", "set current signal" }, - { PCSTOP, "PCSTOP", "post stop request and wait" }, - { PCSTRACE, "PCSTRACE", "set traced signal set" }, - { PCSVADDR, "PCSVADDR", "set pc virtual address" }, - { PCSXREG, "PCSXREG", "set extra registers" }, - { PCTWSTOP, "PCTWSTOP", "wait for stop, with timeout arg" }, - { PCUNKILL, "PCUNKILL", "delete a pending signal" }, - { PCUNSET, "PCUNSET", "unset modes" }, - { PCWATCH, "PCWATCH", "set/unset watched memory area" }, - { PCWSTOP, "PCWSTOP", "wait for process/lwp to stop, no timeout" }, - { 0, NULL, NULL } -}; +static struct trans rw_table[] + = { { PCAGENT, "PCAGENT", "create agent lwp with regs from argument" }, + { PCCFAULT, "PCCFAULT", "clear current fault" }, + { PCCSIG, "PCCSIG", "clear current signal" }, + { PCDSTOP, "PCDSTOP", "post stop request" }, + { PCKILL, "PCKILL", "post a signal" }, + { PCNICE, "PCNICE", "set nice priority" }, + { PCREAD, "PCREAD", "read from the address space" }, + { PCWRITE, "PCWRITE", "write to the address space" }, + { PCRUN, "PCRUN", "make process/lwp runnable" }, + { PCSASRS, "PCSASRS", "set ancillary state registers" }, + { PCSCRED, "PCSCRED", "set process credentials" }, + { PCSENTRY, "PCSENTRY", "set traced syscall entry set" }, + { PCSET, "PCSET", "set modes" }, + { PCSEXIT, "PCSEXIT", "set traced syscall exit set" }, + { PCSFAULT, "PCSFAULT", "set traced fault set" }, + { PCSFPREG, "PCSFPREG", "set floating point registers" }, + { PCSHOLD, "PCSHOLD", "set signal mask" }, + { PCSREG, "PCSREG", "set general registers" }, + { PCSSIG, "PCSSIG", "set current signal" }, + { PCSTOP, "PCSTOP", "post stop request and wait" }, + { PCSTRACE, "PCSTRACE", "set traced signal set" }, + { PCSVADDR, "PCSVADDR", "set pc virtual address" }, + { PCSXREG, "PCSXREG", "set extra registers" }, + { PCTWSTOP, "PCTWSTOP", "wait for stop, with timeout arg" }, + { PCUNKILL, "PCUNKILL", "delete a pending signal" }, + { PCUNSET, "PCUNSET", "unset modes" }, + { PCWATCH, "PCWATCH", "set/unset watched memory area" }, + { PCWSTOP, "PCWSTOP", "wait for process/lwp to stop, no timeout" }, + { 0, NULL, NULL } }; static off_t lseek_offset; @@ -131,110 +132,100 @@ write_with_trace (int fd, void *varg, size_t len, char *file, int line) break; if (info_verbose) - fprintf (procfs_file ? procfs_file : stdout, - "%s:%d -- ", file, line); - switch (opcode) { - case PCSET: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSET, %s) %s\n", - arg[1] == PR_FORK ? "PR_FORK" : - arg[1] == PR_RLC ? "PR_RLC" : - arg[1] == PR_ASYNC ? "PR_ASYNC" : - "<unknown flag>", - info_verbose ? rw_table[i].desc : ""); - break; - case PCUNSET: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCRESET, %s) %s\n", - arg[1] == PR_FORK ? "PR_FORK" : - arg[1] == PR_RLC ? "PR_RLC" : - arg[1] == PR_ASYNC ? "PR_ASYNC" : - "<unknown flag>", - info_verbose ? rw_table[i].desc : ""); - break; - case PCSTRACE: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSTRACE) "); - proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, - (sigset_t *) &arg[1], 0); - break; - case PCSFAULT: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSFAULT) "); - proc_prettyfprint_faultset (procfs_file ? procfs_file : stdout, - (fltset_t *) &arg[1], 0); - break; - case PCSENTRY: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSENTRY) "); - proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, - (sysset_t *) &arg[1], 0); - break; - case PCSEXIT: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSEXIT) "); - proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, - (sysset_t *) &arg[1], 0); - break; - case PCSHOLD: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSHOLD) "); - proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, - (sigset_t *) &arg[1], 0); - break; - case PCSSIG: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCSSIG) "); - proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, - arg[1] ? ((siginfo_t *) &arg[1])->si_signo - : 0, - 0); - fprintf (procfs_file ? procfs_file : stdout, "\n"); - break; - case PCRUN: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCRUN) "); - if (arg[1] & PRCSIG) - fprintf (procfs_file ? procfs_file : stdout, "clearSig "); - if (arg[1] & PRCFAULT) - fprintf (procfs_file ? procfs_file : stdout, "clearFlt "); - if (arg[1] & PRSTEP) - fprintf (procfs_file ? procfs_file : stdout, "step "); - if (arg[1] & PRSABORT) - fprintf (procfs_file ? procfs_file : stdout, "syscallAbort "); - if (arg[1] & PRSTOP) - fprintf (procfs_file ? procfs_file : stdout, "stopReq "); - - fprintf (procfs_file ? procfs_file : stdout, "\n"); - break; - case PCKILL: - fprintf (procfs_file ? procfs_file : stdout, - "write (PCKILL) "); - proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, - arg[1], 0); - fprintf (procfs_file ? procfs_file : stdout, "\n"); - break; - default: + fprintf (procfs_file ? procfs_file : stdout, "%s:%d -- ", file, line); + switch (opcode) { - if (rw_table[i].name) - fprintf (procfs_file ? procfs_file : stdout, - "write (%s) %s\n", - rw_table[i].name, - info_verbose ? rw_table[i].desc : ""); - else - { - if (lseek_offset != -1) - fprintf (procfs_file ? procfs_file : stdout, - "write (<unknown>, %lud bytes at 0x%08lx) \n", - (unsigned long) len, (unsigned long) lseek_offset); - else - fprintf (procfs_file ? procfs_file : stdout, - "write (<unknown>, %lud bytes) \n", - (unsigned long) len); - } + case PCSET: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSET, %s) %s\n", + arg[1] == PR_FORK ? "PR_FORK" + : arg[1] == PR_RLC ? "PR_RLC" + : arg[1] == PR_ASYNC ? "PR_ASYNC" + : "<unknown flag>", + info_verbose ? rw_table[i].desc : ""); + break; + case PCUNSET: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCRESET, %s) %s\n", + arg[1] == PR_FORK ? "PR_FORK" + : arg[1] == PR_RLC ? "PR_RLC" + : arg[1] == PR_ASYNC ? "PR_ASYNC" + : "<unknown flag>", + info_verbose ? rw_table[i].desc : ""); + break; + case PCSTRACE: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSTRACE) "); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) &arg[1], 0); + break; + case PCSFAULT: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSFAULT) "); + proc_prettyfprint_faultset (procfs_file ? procfs_file : stdout, + (fltset_t *) &arg[1], 0); + break; + case PCSENTRY: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSENTRY) "); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) &arg[1], 0); + break; + case PCSEXIT: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSEXIT) "); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) &arg[1], 0); + break; + case PCSHOLD: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSHOLD) "); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) &arg[1], 0); break; + case PCSSIG: + fprintf (procfs_file ? procfs_file : stdout, "write (PCSSIG) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, + arg[1] ? ((siginfo_t *) &arg[1])->si_signo + : 0, + 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PCRUN: + fprintf (procfs_file ? procfs_file : stdout, "write (PCRUN) "); + if (arg[1] & PRCSIG) + fprintf (procfs_file ? procfs_file : stdout, "clearSig "); + if (arg[1] & PRCFAULT) + fprintf (procfs_file ? procfs_file : stdout, "clearFlt "); + if (arg[1] & PRSTEP) + fprintf (procfs_file ? procfs_file : stdout, "step "); + if (arg[1] & PRSABORT) + fprintf (procfs_file ? procfs_file : stdout, "syscallAbort "); + if (arg[1] & PRSTOP) + fprintf (procfs_file ? procfs_file : stdout, "stopReq "); + + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PCKILL: + fprintf (procfs_file ? procfs_file : stdout, "write (PCKILL) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, arg[1], + 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + default: + { + if (rw_table[i].name) + fprintf (procfs_file ? procfs_file : stdout, "write (%s) %s\n", + rw_table[i].name, info_verbose ? rw_table[i].desc : ""); + else + { + if (lseek_offset != -1) + fprintf (procfs_file ? procfs_file : stdout, + "write (<unknown>, %lud bytes at 0x%08lx) \n", + (unsigned long) len, (unsigned long) lseek_offset); + else + fprintf (procfs_file ? procfs_file : stdout, + "write (<unknown>, %lud bytes) \n", + (unsigned long) len); + } + break; + } } - } if (procfs_file) fflush (procfs_file); } @@ -242,10 +233,9 @@ write_with_trace (int fd, void *varg, size_t len, char *file, int line) ret = write (fd, (void *) arg, len); if (procfs_trace && ret != len) { - fprintf (procfs_file ? procfs_file : stdout, + fprintf (procfs_file ? procfs_file : stdout, "[write (%s) FAILED! (%s)]\n", - rw_table[i].name != NULL ? - rw_table[i].name : "<unknown>", + rw_table[i].name != NULL ? rw_table[i].name : "<unknown>", safe_strerror (errno)); if (procfs_file) fflush (procfs_file); @@ -266,9 +256,9 @@ lseek_with_trace (int fd, off_t offset, int whence, char *file, int line) lseek_offset = ret; if (procfs_trace && (ret == -1 || errno != 0)) { - fprintf (procfs_file ? procfs_file : stdout, - "[lseek (0x%08lx) FAILED! (%s)]\n", - (unsigned long) offset, safe_strerror (errno)); + fprintf (procfs_file ? procfs_file : stdout, + "[lseek (0x%08lx) FAILED! (%s)]\n", (unsigned long) offset, + safe_strerror (errno)); if (procfs_file) fflush (procfs_file); } @@ -287,19 +277,18 @@ open_with_trace (char *filename, int mode, char *file, int line) if (procfs_trace) { if (info_verbose) - fprintf (procfs_file ? procfs_file : stdout, - "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, "%s:%d -- ", file, line); if (errno) { - fprintf (procfs_file ? procfs_file : stdout, - "[open FAILED! (%s) line %d]\\n", - safe_strerror (errno), line); + fprintf (procfs_file ? procfs_file : stdout, + "[open FAILED! (%s) line %d]\\n", safe_strerror (errno), + line); } else { - fprintf (procfs_file ? procfs_file : stdout, - "%d = open (%s, ", ret, filename); + fprintf (procfs_file ? procfs_file : stdout, "%d = open (%s, ", ret, + filename); if (mode == O_RDONLY) fprintf (procfs_file ? procfs_file : stdout, "O_RDONLY) %d\n", line); @@ -328,14 +317,13 @@ close_with_trace (int fd, char *file, int line) if (procfs_trace) { if (info_verbose) - fprintf (procfs_file ? procfs_file : stdout, - "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, "%s:%d -- ", file, line); if (errno) - fprintf (procfs_file ? procfs_file : stdout, - "[close FAILED! (%s)]\n", safe_strerror (errno)); + fprintf (procfs_file ? procfs_file : stdout, "[close FAILED! (%s)]\n", + safe_strerror (errno)); else - fprintf (procfs_file ? procfs_file : stdout, - "%d = close (%d)\n", ret, fd); + fprintf (procfs_file ? procfs_file : stdout, "%d = close (%d)\n", ret, + fd); if (procfs_file) fflush (procfs_file); } @@ -352,10 +340,8 @@ wait_with_trace (int *wstat, char *file, int line) if (procfs_trace) { if (info_verbose) - fprintf (procfs_file ? procfs_file : stdout, - "%s:%d -- ", file, line); - fprintf (procfs_file ? procfs_file : stdout, - "wait (line %d) ", line); + fprintf (procfs_file ? procfs_file : stdout, "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, "wait (line %d) ", line); if (procfs_file) fflush (procfs_file); } @@ -364,10 +350,10 @@ wait_with_trace (int *wstat, char *file, int line) if (procfs_trace) { if (errno) - fprintf (procfs_file ? procfs_file : stdout, - "[wait FAILED! (%s)]\n", safe_strerror (errno)); + fprintf (procfs_file ? procfs_file : stdout, "[wait FAILED! (%s)]\n", + safe_strerror (errno)); else - fprintf (procfs_file ? procfs_file : stdout, + fprintf (procfs_file ? procfs_file : stdout, "returned pid %d, status 0x%x\n", ret, lstat); if (procfs_file) fflush (procfs_file); @@ -385,8 +371,7 @@ procfs_note (const char *msg, const char *file, int line) if (procfs_trace) { if (info_verbose) - fprintf (procfs_file ? procfs_file : stdout, - "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, "%s:%d -- ", file, line); fprintf (procfs_file ? procfs_file : stdout, "%s", msg); if (procfs_file) fflush (procfs_file); @@ -400,35 +385,34 @@ proc_prettyfprint_status (long flags, int why, int what, int thread) if (procfs_trace) { if (thread) - fprintf (procfs_file ? procfs_file : stdout, - "Thread %d: ", thread); + fprintf (procfs_file ? procfs_file : stdout, "Thread %d: ", thread); - proc_prettyfprint_flags (procfs_file ? procfs_file : stdout, - flags, 0); + proc_prettyfprint_flags (procfs_file ? procfs_file : stdout, flags, 0); if (flags & (PR_STOPPED | PR_ISTOP)) - proc_prettyfprint_why (procfs_file ? procfs_file : stdout, - why, what, 0); + proc_prettyfprint_why (procfs_file ? procfs_file : stdout, why, what, + 0); if (procfs_file) fflush (procfs_file); } } void _initialize_proc_api (); + void _initialize_proc_api () { - add_setshow_boolean_cmd ("procfs-trace", no_class, &procfs_trace, _("\ -Set tracing for /proc api calls."), _("\ -Show tracing for /proc api calls."), NULL, - set_procfs_trace_cmd, - NULL, /* FIXME: i18n: */ + add_setshow_boolean_cmd ("procfs-trace", no_class, &procfs_trace, _ ("\ +Set tracing for /proc api calls."), + _ ("\ +Show tracing for /proc api calls."), + NULL, set_procfs_trace_cmd, NULL, /* FIXME: i18n: */ &setlist, &showlist); - add_setshow_filename_cmd ("procfs-file", no_class, &procfs_filename, _("\ -Set filename for /proc tracefile."), _("\ -Show filename for /proc tracefile."), NULL, - set_procfs_file_cmd, - NULL, /* FIXME: i18n: */ + add_setshow_filename_cmd ("procfs-file", no_class, &procfs_filename, _ ("\ +Set filename for /proc tracefile."), + _ ("\ +Show filename for /proc tracefile."), + NULL, set_procfs_file_cmd, NULL, /* FIXME: i18n: */ &setlist, &showlist); } |