From 05b4bd799a73514fc9156f87ce4b353f7458cf11 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 11 Dec 2012 11:32:39 +0000 Subject: [PATCH] gdb/ 2012-12-11 Pedro Alves * configure.ac (detect type of /proc): Remove Unixware handling. * configure: Regenerate. * proc-api.c (ioctl_table) [PIOCLSTATUS]: Don't mention Unixware. (ioctl_table) [PCRESET]: Remove entry. * proc-events.c (SYS_lwp_create, SYS_lwp_exit, SYS_lwp_wait) (SYS_lwp_self, SYS_lwp_info, SYS_lwp_private, SYS_lwp_kill) (SYS_lwp_suspend, SYS_lwp_continue): Don't define. * proc-why.c (pr_why_table) [PR_SUSPENDED]: Don't mention Unixware. * procfs.c: Remove all UNIXWARE guarded code, and all traces of Unixware in comments throughout. * i386-tdep.c (i386_svr4_sigtramp_p): Don't match _sigacthandler, and remove mention of Unixware. gdb/doc/ 2012-12-11 Pedro Alves * gdb.texinfo: Remove all mentions of Unixware throughout. --- gdb/ChangeLog | 15 +++++++++ gdb/configure | 4 +-- gdb/configure.ac | 4 +-- gdb/doc/ChangeLog | 4 +++ gdb/doc/gdb.texinfo | 4 +-- gdb/i386-tdep.c | 4 +-- gdb/proc-api.c | 5 +-- gdb/proc-events.c | 39 ----------------------- gdb/proc-why.c | 2 +- gdb/procfs.c | 76 ++++++++++----------------------------------- 10 files changed, 44 insertions(+), 113 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cfbd0a3e748..0d90883d8c7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,18 @@ +2012-12-11 Pedro Alves + + * configure.ac (detect type of /proc): Remove Unixware handling. + * configure: Regenerate. + * proc-api.c (ioctl_table) [PIOCLSTATUS]: Don't mention Unixware. + (ioctl_table) [PCRESET]: Remove entry. + * proc-events.c (SYS_lwp_create, SYS_lwp_exit, SYS_lwp_wait) + (SYS_lwp_self, SYS_lwp_info, SYS_lwp_private, SYS_lwp_kill) + (SYS_lwp_suspend, SYS_lwp_continue): Don't define. + * proc-why.c (pr_why_table) [PR_SUSPENDED]: Don't mention Unixware. + * procfs.c: Remove all UNIXWARE guarded code, and all traces of + Unixware in comments throughout. + * i386-tdep.c (i386_svr4_sigtramp_p): Don't match _sigacthandler, + and remove mention of Unixware. + 2012-12-10 Doug Evans * dwarf2read.c (dwarf2_cu): Enhance comment. diff --git a/gdb/configure b/gdb/configure index fdfd17cd148..53a6ca9e760 100755 --- a/gdb/configure +++ b/gdb/configure @@ -10807,11 +10807,11 @@ $as_echo "#define HAVE_PT_GETXMMREGS 1" >>confdefs.h fi -# Detect which type of /proc is in use, such as for Unixware or Solaris. +# Detect which type of /proc is in use, such as for Solaris. if test "${target}" = "${host}"; then case "${host}" in - *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* ) + *-*-sysv4.2* | *-*-sysv5* | *-*-interix* ) $as_echo "#define NEW_PROC_API 1" >>confdefs.h diff --git a/gdb/configure.ac b/gdb/configure.ac index db528040d6b..5797561cff3 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1387,11 +1387,11 @@ if test $gdb_cv_have_pt_getxmmregs = yes; then [Define if sys/ptrace.h defines the PT_GETXMMREGS request.]) fi -# Detect which type of /proc is in use, such as for Unixware or Solaris. +# Detect which type of /proc is in use, such as for Solaris. if test "${target}" = "${host}"; then case "${host}" in - *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* ) + *-*-sysv4.2* | *-*-sysv5* | *-*-interix* ) AC_DEFINE(NEW_PROC_API, 1, [Define if you want to use new multi-fd /proc interface (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).]) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 245826f1c6f..226fb55840a 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2012-12-11 Pedro Alves + + * gdb.texinfo: Remove all mentions of Unixware throughout. + 2012-12-09 Jan Kratochvil * gdbint.texinfo (Host Definition): Remove CC_HAS_LONG_LONG. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 9ffdb7730ee..ce8f002b8a8 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -9951,7 +9951,7 @@ specified, the file name defaults to @file{core.@var{pid}}, where @var{pid} is the inferior process ID. Note that this command is implemented only for some systems (as of -this writing, @sc{gnu}/Linux, FreeBSD, Solaris, Unixware, and S390). +this writing, @sc{gnu}/Linux, FreeBSD, Solaris, and S390). @end table @node Character Sets @@ -18655,7 +18655,7 @@ proc} is available to report information about the process running your program, or about any process running on your system. @code{info proc} works only on SVR4 systems that include the @code{procfs} code. This includes, as of this writing, @sc{gnu}/Linux, OSF/1 (Digital -Unix), Solaris, Irix, and Unixware, but not HP-UX, for example. +Unix), Solaris, Irix, but not HP-UX, for example. @table @code @kindex info proc diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 52b5c7004ff..e60ebce2d67 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -3413,11 +3413,9 @@ i386_svr4_sigtramp_p (struct frame_info *this_frame) CORE_ADDR pc = get_frame_pc (this_frame); const char *name; - /* UnixWare uses _sigacthandler. The origin of the other symbols is - currently unknown. */ + /* The origin of these symbols is currently unknown. */ find_pc_partial_function (pc, &name, NULL, NULL); return (name && (strcmp ("_sigreturn", name) == 0 - || strcmp ("_sigacthandler", name) == 0 || strcmp ("sigvechandler", name) == 0)); } diff --git a/gdb/proc-api.c b/gdb/proc-api.c index 876d08c246d..77c0f712135 100644 --- a/gdb/proc-api.c +++ b/gdb/proc-api.c @@ -161,7 +161,7 @@ static struct trans ioctl_table[] = { { PIOCLDT, "PIOCLDT", "get LDT" }, { PIOCNLDT, "PIOCNLDT", "get number of LDT entries" }, #endif -#ifdef PIOCLSTATUS /* solaris and unixware */ +#ifdef PIOCLSTATUS /* solaris */ { PIOCLSTATUS, "PIOCLSTATUS", "get status of all lwps" }, { PIOCLUSAGE, "PIOCLUSAGE", "get resource usage of all lwps" }, { PIOCOPENLWP, "PIOCOPENLWP", "get lwp file descriptor" }, @@ -409,9 +409,6 @@ static struct trans rw_table[] = { #ifdef PCREAD /* solaris */ { PCREAD, "PCREAD", "read from the address space" }, { PCWRITE, "PCWRITE", "write to the address space" }, -#endif -#ifdef PCRESET /* unixware */ - { PCRESET, "PCRESET", "unset modes" }, #endif { PCRUN, "PCRUN", "make process/lwp runnable" }, #ifdef PCSASRS /* solaris 2.7 only */ diff --git a/gdb/proc-events.c b/gdb/proc-events.c index 216a65aa55a..22566f64c4e 100644 --- a/gdb/proc-events.c +++ b/gdb/proc-events.c @@ -63,45 +63,6 @@ struct trans /* Pretty print syscalls. */ -/* Ugh -- UnixWare and Solaris spell these differently! */ - -#ifdef SYS_lwpcreate -#define SYS_lwp_create SYS_lwpcreate -#endif - -#ifdef SYS_lwpexit -#define SYS_lwp_exit SYS_lwpexit -#endif - -#ifdef SYS_lwpwait -#define SYS_lwp_wait SYS_lwpwait -#endif - -#ifdef SYS_lwpself -#define SYS_lwp_self SYS_lwpself -#endif - -#ifdef SYS_lwpinfo -#define SYS_lwp_info SYS_lwpinfo -#endif - -#ifdef SYS_lwpprivate -#define SYS_lwp_private SYS_lwpprivate -#endif - -#ifdef SYS_lwpkill -#define SYS_lwp_kill SYS_lwpkill -#endif - -#ifdef SYS_lwpsuspend -#define SYS_lwp_suspend SYS_lwpsuspend -#endif - -#ifdef SYS_lwpcontinue -#define SYS_lwp_continue SYS_lwpcontinue -#endif - - /* Syscall translation table. */ #define MAX_SYSCALLS 262 /* Pretty arbitrary. */ diff --git a/gdb/proc-why.c b/gdb/proc-why.c index 97a376074e0..0ce0a8433dc 100644 --- a/gdb/proc-why.c +++ b/gdb/proc-why.c @@ -75,7 +75,7 @@ static struct trans pr_why_table[] = { PR_FAULTED, "PR_FAULTED", "Incurred a traced hardware fault" }, #endif #if defined (PR_SUSPENDED) - /* Solaris and UnixWare. */ + /* Solaris only. */ { PR_SUSPENDED, "PR_SUSPENDED", "Process suspended" }, #endif #if defined (PR_CHECKPOINT) diff --git a/gdb/procfs.c b/gdb/procfs.c index 82c7cd0cf34..fa18b46460d 100644 --- a/gdb/procfs.c +++ b/gdb/procfs.c @@ -62,7 +62,6 @@ Irix Solaris OSF - Unixware AIX5 /proc works by imitating a file system: you open a simulated file @@ -549,7 +548,7 @@ open_procinfo_files (procinfo *pi, int which) /* This function is getting ALMOST long enough to break up into several. Here is some rationale: - NEW_PROC_API (Solaris 2.6, Solaris 2.7, Unixware): + NEW_PROC_API (Solaris 2.6, Solaris 2.7): There are several file descriptors that may need to be open for any given process or LWP. The ones we're intereted in are: - control (ctl) write-only change the state @@ -1075,16 +1074,6 @@ proc_get_status (procinfo *pi) (char *) &pi->prstatus, sizeof (gdb_prstatus_t)) == sizeof (gdb_prstatus_t)); -#if 0 /*def UNIXWARE*/ - if (pi->status_valid && - (pi->prstatus.pr_lwp.pr_flags & PR_ISTOP) && - pi->prstatus.pr_lwp.pr_why == PR_REQUESTED) - /* Unixware peculiarity -- read the damn thing again! */ - pi->status_valid = (read (pi->status_fd, - (char *) &pi->prstatus, - sizeof (gdb_prstatus_t)) - == sizeof (gdb_prstatus_t)); -#endif /* UNIXWARE */ } } #else /* ioctl method */ @@ -1148,14 +1137,7 @@ proc_flags (procinfo *pi) return 0; /* FIXME: not a good failure value (but what is?) */ #ifdef NEW_PROC_API -# ifdef UNIXWARE - /* UnixWare 7.1 puts process status flags, e.g. PR_ASYNC, in - pstatus_t and LWP status flags, e.g. PR_STOPPED, in lwpstatus_t. - The two sets of flags don't overlap. */ - return pi->prstatus.pr_flags | pi->prstatus.pr_lwp.pr_flags; -# else return pi->prstatus.pr_lwp.pr_flags; -# endif #else return pi->prstatus.pr_flags; #endif @@ -1317,7 +1299,7 @@ proc_modify_flag (procinfo *pi, long flag, long mode) if (pi->pid != 0) pi = find_procinfo_or_die (pi->pid, 0); -#ifdef NEW_PROC_API /* Newest method: UnixWare and newer Solarii. */ +#ifdef NEW_PROC_API /* Newest method: Newer Solarii. */ /* First normalize the PCUNSET/PCRESET command opcode (which for no obvious reason has a different definition from one operating system to the next...) */ @@ -1821,11 +1803,7 @@ proc_get_held_signals (procinfo *pi, gdb_sigset_t *save) if (!proc_get_status (pi)) return NULL; -#ifdef UNIXWARE - ret = &pi->prstatus.pr_lwp.pr_context.uc_sigmask; -#else ret = &pi->prstatus.pr_lwp.pr_lwphold; -#endif /* UNIXWARE */ #else /* not NEW_PROC_API */ { static gdb_sigset_t sigheld; @@ -2207,15 +2185,8 @@ proc_get_gregs (procinfo *pi) if (!proc_get_status (pi)) return NULL; - /* OK, sorry about the ifdef's. There's three cases instead of two, - because in this case Unixware and Solaris/RW differ. */ - #ifdef NEW_PROC_API -# ifdef UNIXWARE /* FIXME: Should be autoconfigured. */ - return &pi->prstatus.pr_lwp.pr_context.uc_mcontext.gregs; -# else return &pi->prstatus.pr_lwp.pr_reg; -# endif #else return &pi->prstatus.pr_reg; #endif @@ -2232,11 +2203,7 @@ proc_get_fpregs (procinfo *pi) if (!proc_get_status (pi)) return NULL; -# ifdef UNIXWARE /* FIXME: Should be autoconfigured. */ - return &pi->prstatus.pr_lwp.pr_context.uc_mcontext.fpregs; -# else return &pi->prstatus.pr_lwp.pr_fpreg; -# endif #else /* not NEW_PROC_API */ if (pi->fpregs_valid) @@ -2451,7 +2418,7 @@ proc_parent_pid (procinfo *pi) (a.k.a void pointer)! */ #if (defined (PCWATCH) || defined (PIOCSWATCH)) \ - && !(defined (PIOCOPENLWP) || defined (UNIXWARE)) + && !(defined (PIOCOPENLWP)) static void * procfs_address_to_host_pointer (CORE_ADDR addr) { @@ -2475,7 +2442,7 @@ proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags) return 0; #else /* Horrible hack! Detect Solaris 2.5, because this doesn't work on 2.5. */ -#if defined (PIOCOPENLWP) || defined (UNIXWARE) /* Solaris 2.5: bail out. */ +#if defined (PIOCOPENLWP) /* Solaris 2.5: bail out. */ return 0; #else struct { @@ -2648,7 +2615,7 @@ proc_get_nthreads (procinfo *pi) #else #if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */ -/* Solaris and Unixware version */ +/* Solaris version */ static int proc_get_nthreads (procinfo *pi) { @@ -2683,7 +2650,7 @@ proc_get_nthreads (procinfo *pi) currently executing. */ #if defined (SYS_lwpcreate) || defined (SYS_lwp_create) /* FIXME: multiple */ -/* Solaris and Unixware version */ +/* Solaris version */ static int proc_get_current_thread (procinfo *pi) { @@ -2791,7 +2758,7 @@ proc_update_threads (procinfo *pi) } #else #ifdef NEW_PROC_API -/* Unixware and Solaris 6 (and later) version. */ +/* Solaris 6 (and later) version. */ static void do_closedir_cleanup (void *dir) { @@ -2818,13 +2785,11 @@ proc_update_threads (procinfo *pi) proc_iterate_over_threads (pi, proc_delete_dead_threads, NULL); - /* Unixware - - Note: this brute-force method is the only way I know of to - accomplish this task on Unixware. This method will also work on - Solaris 2.6 and 2.7. There is a much simpler and more elegant - way to do this on Solaris, but the margins of this manuscript are - too small to write it here... ;-) */ + /* Note: this brute-force method was originally devised for Unixware + (support removed since), and will also work on Solaris 2.6 and + 2.7. The original comment mentioned the existence of a much + simpler and more elegant way to do this on Solaris, but didn't + point out what that was. */ strcpy (pathname, pi->pathname); strcat (pathname, "/lwp"); @@ -4815,7 +4780,6 @@ static int procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag, int after) { -#ifndef UNIXWARE #ifndef AIX5 int pflags = 0; procinfo *pi; @@ -4857,7 +4821,6 @@ procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag, proc_error (pi, "set_watchpoint", __LINE__); } #endif /* AIX5 */ -#endif /* UNIXWARE */ return 0; } @@ -5403,8 +5366,8 @@ procfs_first_available (void) } /* =================== GCORE .NOTE "MODULE" =================== */ -#if defined (UNIXWARE) || defined (PIOCOPENLWP) || defined (PCAGENT) -/* gcore only implemented on solaris and unixware (so far) */ +#if defined (PIOCOPENLWP) || defined (PCAGENT) +/* gcore only implemented on solaris (so far) */ static char * procfs_do_thread_registers (bfd *obfd, ptid_t ptid, @@ -5544,13 +5507,6 @@ procfs_make_note_section (bfd *obfd, int *note_size) stop_signal = find_stop_signal (); -#ifdef UNIXWARE - fill_gregset (get_current_regcache (), &gregs, -1); - note_data = elfcore_write_pstatus (obfd, note_data, note_size, - PIDGET (inferior_ptid), - stop_signal, &gregs); -#endif - thread_args.obfd = obfd; thread_args.note_data = note_data; thread_args.note_size = note_size; @@ -5574,12 +5530,12 @@ procfs_make_note_section (bfd *obfd, int *note_size) make_cleanup (xfree, note_data); return note_data; } -#else /* !(Solaris or Unixware) */ +#else /* !Solaris */ static char * procfs_make_note_section (bfd *obfd, int *note_size) { error (_("gcore not implemented for this host.")); return NULL; /* lint */ } -#endif /* Solaris or Unixware */ +#endif /* Solaris */ /* =================== END GCORE .NOTE "MODULE" =================== */ -- 2.30.2