aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/procfs.c79
-rw-r--r--gdb/procfs.h6
-rw-r--r--gdb/sol-thread.c32
4 files changed, 10 insertions, 117 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1c2ddce..cba0464 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2020-05-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR build/25981
+ * procfs.c [(__i386__ || __x86_64__) && sun] (proc_get_LDT_entry,
+ procfs_find_LDT_entry): Remove.
+ * procfs.h [(__i386__ || __x86_64__) && sun] (struct ssd,
+ procfs_find_LDT_entry): Remove.
+ * sol-thread.c [(__i386__ || __x86_64__) && sun] (ps_lgetLDT):
+ Remove.
+
2020-05-17 Pedro Alves <palves@redhat.com>
Andrew Burgess <andrew.burgess@embecosm.com>
Keno Fischer <keno@juliacomputing.com>
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 09a036f..f6c6b0e 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -1569,85 +1569,6 @@ proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags)
return (write (pi->ctl_fd, &arg, sizeof (arg)) == sizeof (arg));
}
-#if (defined(__i386__) || defined(__x86_64__)) && defined (sun)
-
-#include <sys/sysi86.h>
-
-/* The KEY is actually the value of the lower 16 bits of the GS
- register for the LWP that we're interested in. Returns the
- matching ssh struct (LDT entry). */
-
-static struct ssd *
-proc_get_LDT_entry (procinfo *pi, int key) /* ARI: editCase function */
-{
- static struct ssd *ldt_entry = NULL;
- char pathname[MAX_PROC_NAME_SIZE];
-
- /* Allocate space for one LDT entry.
- This alloc must persist, because we return a pointer to it. */
- if (ldt_entry == NULL)
- ldt_entry = XNEW (struct ssd);
-
- /* Open the file descriptor for the LDT table. */
- xsnprintf (pathname, sizeof (pathname), "/proc/%d/ldt", pi->pid);
- scoped_fd fd (open_with_retry (pathname, O_RDONLY));
- if (fd.get () < 0)
- {
- proc_warn (pi, "proc_get_LDT_entry (open)", __LINE__);
- return NULL;
- }
-
- /* Now 'read' thru the table, find a match and return it. */
- while (read (fd.get (), ldt_entry, sizeof (struct ssd))
- == sizeof (struct ssd))
- {
- if (ldt_entry->sel == 0
- && ldt_entry->bo == 0
- && ldt_entry->acc1 == 0
- && ldt_entry->acc2 == 0)
- break; /* end of table */
- /* If key matches, return this entry. */
- if (ldt_entry->sel == key)
- return ldt_entry;
- }
- /* Loop ended, match not found. */
- return NULL;
-}
-
-/* Returns the pointer to the LDT entry of PTID. */
-
-struct ssd *
-procfs_find_LDT_entry (ptid_t ptid) /* ARI: editCase function */
-{
- gdb_gregset_t *gregs;
- int key;
- procinfo *pi;
-
- /* Find procinfo for the lwp. */
- pi = find_procinfo (ptid.pid (), ptid.lwp ());
- if (pi == NULL)
- {
- warning (_("procfs_find_LDT_entry: could not find procinfo for %d:%ld."),
- ptid.pid (), ptid.lwp ());
- return NULL;
- }
- /* get its general registers. */
- gregs = proc_get_gregs (pi);
- if (gregs == NULL)
- {
- warning (_("procfs_find_LDT_entry: could not read gregs for %d:%ld."),
- ptid.pid (), ptid.lwp ());
- return NULL;
- }
- /* Now extract the GS register's lower 16 bits. */
- key = (*gregs)[GS] & 0xffff;
-
- /* Find the matching entry and return it. */
- return proc_get_LDT_entry (pi, key);
-}
-
-#endif
-
/* =============== END, non-thread part of /proc "MODULE" =============== */
/* =================== Thread "MODULE" =================== */
diff --git a/gdb/procfs.h b/gdb/procfs.h
index 5bba467..46835fd 100644
--- a/gdb/procfs.h
+++ b/gdb/procfs.h
@@ -25,10 +25,4 @@
extern ptid_t procfs_first_available (void);
-#if (defined (__i386__) || defined (__x86_64__)) && defined (sun)
-struct ssd;
-
-extern struct ssd *procfs_find_LDT_entry (ptid_t);
-#endif
-
#endif /* PROCFS_H */
diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c
index 333fb96..9addf8d 100644
--- a/gdb/sol-thread.c
+++ b/gdb/sol-thread.c
@@ -969,38 +969,6 @@ ps_pdmodel (struct ps_prochandle *ph, int *data_model)
return PS_OK;
}
-
-#if (defined(__i386__) || defined(__x86_64__)) && defined (sun)
-
-/* Reads the local descriptor table of a LWP.
-
- This function is necessary on x86-solaris only. Without it, the loading
- of libthread_db would fail because of ps_lgetLDT being undefined. */
-
-ps_err_e
-ps_lgetLDT (struct ps_prochandle *ph, lwpid_t lwpid, struct ssd *pldt) /* ARI: editCase function */
-{
- /* NOTE: only used on Solaris, therefore OK to refer to procfs.c. */
- struct ssd *ret;
-
- /* FIXME: can't I get the process ID from the prochandle or
- something? */
-
- if (inferior_ptid.pid () <= 0 || lwpid <= 0)
- return PS_BADLID;
-
- ret = procfs_find_LDT_entry (ptid_t (inferior_ptid.pid (),
- lwpid, 0));
- if (ret)
- {
- memcpy (pldt, ret, sizeof (struct ssd));
- return PS_OK;
- }
- else
- /* LDT not found. */
- return PS_ERR;
-}
-#endif
/* Convert PTID to printable form. */