[RFA] Minor changes to proc-api.c for Interix

Joel Brobecker
2002-07-24T08:59:23Z

[-- Attachment #1: Type: text/plain, Size: 611 bytes --]

Hello,

I would like to commit the following change. This change has been made
for Interix, but should not affect any other platform. Tested on
Solaris by recompiling GDB.

OK to commit?

2002-07-24 Donn Terry <dterry@microsoft.com>

* proc-api.c (rw_table): Do not include a row for PCDSTOP if the
corresponding macro is not defined. Likewise for PCNICE, PCSHOLD
and PCUNKILL.
(write_with_trace): Conditionalize out the switch branch handling
PCSHOLD if the corresponding macro is not defined. Likewise for
PRSABORT and PRSTOP.
This change will be needed by the Interix port.

Thanks,
--
Joel

[-- Attachment #2: proc-api.c.diff --]
[-- Type: text/plain, Size: 2817 bytes --]

Index: proc-api.c
===================================================================
RCS file: /cvs/src/src/gdb/proc-api.c,v
retrieving revision 1.13
diff -c -3 -p -r1.13 proc-api.c
*** proc-api.c 16 Jul 2002 17:14:13 -0000 1.13
--- proc-api.c 24 Jul 2002 07:06:28 -0000
*************** static struct trans rw_table[] = {
*** 397,405 ****
--- 397,409 ----
#ifdef PCCSIG /* solaris */
{ PCCSIG, "PCCSIG", "clear current signal" },
#endif
+ #ifdef PCDSTOP /* solaris */
{ PCDSTOP, "PCDSTOP", "post stop request" },
+ #endif
{ PCKILL, "PCKILL", "post a signal" },
+ #ifdef PCNICE /* solaris */
{ PCNICE, "PCNICE", "set nice priority" },
+ #endif
#ifdef PCREAD /* solaris */
{ PCREAD, "PCREAD", "read from the address space" },
{ PCWRITE, "PCWRITE", "write to the address space" },
*************** static struct trans rw_table[] = {
*** 419,425 ****
--- 423,431 ----
{ PCSEXIT, "PCSEXIT", "set traced syscall exit set" },
{ PCSFAULT, "PCSFAULT", "set traced fault set" },
{ PCSFPREG, "PCSFPREG", "set floating point registers" },
+ #ifdef PCHOLD /* solaris */
{ PCSHOLD, "PCSHOLD", "set signal mask" },
+ #endif
{ PCSREG, "PCSREG", "set general registers" },
{ PCSSIG, "PCSSIG", "set current signal" },
{ PCSTOP, "PCSTOP", "post stop request and wait" },
*************** static struct trans rw_table[] = {
*** 433,439 ****
--- 439,447 ----
#ifdef PCTWSTOP /* solaris */
{ PCTWSTOP, "PCTWSTOP", "wait for stop, with timeout arg" },
#endif
+ #ifdef PCUNKILL /* solaris */
{ PCUNKILL, "PCUNKILL", "delete a pending signal" },
+ #endif
#ifdef PCUNSET /* solaris */
{ PCUNSET, "PCUNSET", "unset modes" },
#endif
*************** write_with_trace (int fd, void *varg, si
*** 518,529 ****
--- 526,539 ----
proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout,
(sysset_t *) &arg[1], 0);
break;
+ #ifdef PCSHOLD
case PCSHOLD:
fprintf (procfs_file ? procfs_file : stdout,
"write (PCSHOLD) ");
proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout,
(sigset_t *) &arg[1], 0);
break;
+ #endif
case PCSSIG:
fprintf (procfs_file ? procfs_file : stdout,
"write (PCSSIG) ");
*************** write_with_trace (int fd, void *varg, si
*** 542,551 ****
--- 552,565 ----
fprintf (procfs_file ? procfs_file : stdout, "clearFlt ");
if (arg[1] & PRSTEP)
fprintf (procfs_file ? procfs_file : stdout, "step ");
+ #ifdef PRSABORT
if (arg[1] & PRSABORT)
fprintf (procfs_file ? procfs_file : stdout, "syscallAbort ");
+ #endif
+ #ifdef PRSTOP
if (arg[1] & PRSTOP)
fprintf (procfs_file ? procfs_file : stdout, "stopReq ");
+ #endif

fprintf (procfs_file ? procfs_file : stdout, "\n");
break;