Index: include/symtab.h
===================================================================
--- include/symtab.h	(revision 6401f798390c8c31e0c845e43f1234b628831f35)
+++ include/symtab.h	(revision b6d20a7ab3933967cc26974eb45f1330e641959c)
@@ -32,5 +32,5 @@
 #include <arch/types.h>
 
-#define MAX_SYMBOL_NAME 32
+#define MAX_SYMBOL_NAME 64
 
 struct symtab_entry {
Index: src/debug/genmap.py
===================================================================
--- src/debug/genmap.py	(revision 6401f798390c8c31e0c845e43f1234b628831f35)
+++ src/debug/genmap.py	(revision b6d20a7ab3933967cc26974eb45f1330e641959c)
@@ -6,6 +6,8 @@
 
 symline = re.compile(r'(0x[a-f0-9]+)\s+([^\s]+)$')
-symtabfmt = "<Q32s"
-MAXSTRING=31
+fileline = re.compile(r'[^\s]+\s+0x[a-f0-9]+\s+0x[a-f0-9]+\s+([^\s]+\.o)$')
+
+MAXSTRING=63
+symtabfmt = "<Q%ds" % (MAXSTRING+1)
 
 def read_symbols(inp):
@@ -18,4 +20,5 @@
 
     symtable = {}
+    filename = ''
     while 1:
         line = inp.readline()
@@ -25,8 +28,12 @@
             break
         line = line.strip()
-        # Search only for symbols
+        # Search for file name
+        res = fileline.match(line)
+        if res:
+            filename = res.group(1)
+        # Search for symbols
         res = symline.match(line)
         if res:
-            symtable[int(res.group(1),16)] = res.group(2)
+            symtable[int(res.group(1),16)] = filename + ':' + res.group(2)
     return symtable
     
