| Compressed of (string * Virt_mem_mmap.addr) list * Virt_mem_mmap.addr
| Uncompressed of (string * Virt_mem_mmap.addr) list
-let find_kallsyms debug (({ domname = domname; mem = mem } as image), ksymmap) =
+let find_kallsyms debug ({ domname = domname; mem = mem } as image) ksymmap =
let start_t = gettimeofday () in
(* Now try to find the /proc/kallsyms table. This is in an odd
let freqs = frequency kallsymtabs in
match freqs with
| [] ->
- (* Can't find any kallsymtabs, just return the ksymmap
- * map generated previously from the exported symbols.
- *)
- ksymmap
+ (* Can't find any kallsymtabs. *)
+ None
| (_, (_, _, _, Uncompressed names)) :: _ ->
let rec loop ksymmap = function
loop (Ksymmap.add name value ksymmap) names
| [] -> ksymmap
in
- loop ksymmap names
+ Some (loop ksymmap names)
| (_, (start_addr, num_entries, names_addr,
Compressed (compressed_names, markers_addr))) :: _ ->
loop (Ksymmap.add name value ksymmap) names
| [] -> ksymmap
in
- loop ksymmap names in
+ Some (loop ksymmap names) in
if debug then (
let end_t = gettimeofday () in
(end_t -. start_t)
);
- ((image, ksymmap) : image1)
+ (image, ksymmap)