Remove the Segment back-pointer from SegInfo. The only place it was
being used was in resolve_redir(), and due to the way resolve_redir()
is called, the involved test was always failing anyway. So we lose
nothing by removing it except some complexity -- there is no longer a
circularity between Segments and SegInfos.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4019 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_debuginfo/priv_symtab.h b/coregrind/m_debuginfo/priv_symtab.h
index 72a72f7..65c0626 100644
--- a/coregrind/m_debuginfo/priv_symtab.h
+++ b/coregrind/m_debuginfo/priv_symtab.h
@@ -171,7 +171,6 @@
struct _SegInfo {
struct _SegInfo* next; /* list of SegInfos */
- Segment *seg; /* first segment we're mapped out of */
Int ref;
/* Description of the mapped segment. */
diff --git a/coregrind/m_debuginfo/symtab.c b/coregrind/m_debuginfo/symtab.c
index 62f7cff..2ffad73 100644
--- a/coregrind/m_debuginfo/symtab.c
+++ b/coregrind/m_debuginfo/symtab.c
@@ -1648,8 +1648,6 @@
si->cfisi_size = si->cfisi_used = 0;
si->cfisi_minaddr = si->cfisi_maxaddr = 0;
- si->seg = seg;
-
si->stab_typetab = NULL;
si->plt_start = si->plt_size = 0;
diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
index 3ffa9cd..e787022 100644
--- a/coregrind/m_redir.c
+++ b/coregrind/m_redir.c
@@ -210,11 +210,6 @@
Bool resolved;
vg_assert(si != NULL);
- vg_assert(si->seg != NULL);
-
- /* no redirection from Valgrind segments */
- if (si->seg->flags & SF_VALGRIND)
- return False;
resolved = from_resolved(redir);
vg_assert(!resolved);