[commit: ghc] master: Linker: some extra debugging / logging (6377757)

git at git.haskell.org git at git.haskell.org
Fri Jul 1 12:22:26 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/6377757918c1e7f63638d6f258cad8d5f02bb6a7/ghc

>---------------------------------------------------------------

commit 6377757918c1e7f63638d6f258cad8d5f02bb6a7
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Wed Jun 29 21:50:18 2016 +0100

    Linker: some extra debugging / logging


>---------------------------------------------------------------

6377757918c1e7f63638d6f258cad8d5f02bb6a7
 rts/Linker.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/rts/Linker.c b/rts/Linker.c
index b41bc1a..894a31d 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1465,6 +1465,27 @@ void ghci_enquire(SymbolAddr* addr)
       }
    }
 }
+
+void ghci_find(SymbolAddr *addr);
+void ghci_find(SymbolAddr *addr)
+{
+    ObjectCode *oc;
+    uint32_t i;
+
+    for (oc = objects; oc != NULL; oc = oc->next) {
+        for (i = 0; i < (uint32_t)oc->n_sections; i++) {
+            Section *section = &oc->sections[i];
+            if (addr > section->start &&
+                (StgWord)addr < (StgWord)section->start+section->size) {
+                debugBelch("%p is in %" PATH_FMT, addr,
+                           oc->archiveMemberName ?
+                             oc->archiveMemberName : oc->fileName);
+                debugBelch(", section %d, offset %lx\n", i,
+                           (StgWord)addr - (StgWord)section->start);
+            }
+        }
+    }
+}
 #endif
 
 #if RTS_LINKER_USE_MMAP
@@ -2537,6 +2558,10 @@ int ocTryLoad (ObjectCode* oc) {
         }
     }
 
+    IF_DEBUG(linker, debugBelch("Resolving %" PATH_FMT "\n",
+                                oc->archiveMemberName ?
+                                oc->archiveMemberName : oc->fileName));
+
 #           if defined(OBJFORMAT_ELF)
         r = ocResolve_ELF ( oc );
 #           elif defined(OBJFORMAT_PEi386)



More information about the ghc-commits mailing list