diff -ru src.orig//proc/readproc.c src/proc/readproc.c
--- src.orig//proc/readproc.c	2014-06-26 16:42:50.429440481 +0200
+++ src/proc/readproc.c	2014-06-26 16:43:13.201433008 +0200
@@ -525,11 +525,11 @@
        "%c "
        "%d %d %d %d %d "
        "%lu %lu %lu %lu %lu "
-       "%Lu %Lu %Lu %Lu "  /* utime stime cutime cstime */
+       "%llu %llu %llu %llu "  /* utime stime cutime cstime */
        "%ld %ld "
        "%d "
        "%ld "
-       "%Lu "  /* start_time */
+       "%llu "  /* start_time */
        "%lu "
        "%ld "
        "%lu %"KLF"u %"KLF"u %"KLF"u %"KLF"u %"KLF"u "
diff -ru src.orig//proc/sysinfo.c src/proc/sysinfo.c
--- src.orig//proc/sysinfo.c	2014-06-26 16:42:50.417440485 +0200
+++ src/proc/sysinfo.c	2014-06-26 16:43:17.297431665 +0200
@@ -191,7 +191,7 @@
     FILE_TO_BUF(UPTIME_FILE,uptime_fd);  sscanf(buf, "%lf", &up_1);
     /* uptime(&up_1, NULL); */
     FILE_TO_BUF(STAT_FILE,stat_fd);
-    sscanf(buf, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", &user_j, &nice_j, &sys_j, &other_j, &wait_j, &hirq_j, &sirq_j, &stol_j);
+    sscanf(buf, "cpu %llu %llu %llu %llu %llu %llu %llu %llu", &user_j, &nice_j, &sys_j, &other_j, &wait_j, &hirq_j, &sirq_j, &stol_j);
     FILE_TO_BUF(UPTIME_FILE,uptime_fd);  sscanf(buf, "%lf", &up_2);
     /* uptime(&up_2, NULL); */
   } while((long long)( (up_2-up_1)*1000.0/up_1 )); /* want under 0.1% error */
@@ -318,7 +318,7 @@
     new_z = 0;
 
     FILE_TO_BUF(STAT_FILE,stat_fd);
-    sscanf(buf, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", &new_u, &new_n, &new_s, &new_i, &new_w, &new_x, &new_y, &new_z);
+    sscanf(buf, "cpu %llu %llu %llu %llu %llu %llu %llu %llu", &new_u, &new_n, &new_s, &new_i, &new_w, &new_x, &new_y, &new_z);
     ticks_past = (new_u+new_n+new_s+new_i+new_w+new_x+new_y+new_z)-(old_u+old_n+old_s+old_i+old_w+old_x+old_y+old_z);
     if(ticks_past){
       scale = 100.0 / (double)ticks_past;
@@ -458,7 +458,7 @@
   *czzz = 0;  /* not separated out until the 2.6.11 kernel */
 
   b = strstr(buff, "cpu ");
-  if(b) sscanf(b,  "cpu  %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", cuse, cice, csys, cide, ciow, cxxx, cyyy, czzz);
+  if(b) sscanf(b,  "cpu  %llu %llu %llu %llu %llu %llu %llu %llu", cuse, cice, csys, cide, ciow, cxxx, cyyy, czzz);
 
   b = strstr(buff, "page ");
   if(b) sscanf(b,  "page %lu %lu", pin, pout);
@@ -469,11 +469,11 @@
   else need_vmstat_file = 1;
 
   b = strstr(buff, "intr ");
-  if(b) sscanf(b,  "intr %Lu", &llbuf);
+  if(b) sscanf(b,  "intr %llu", &llbuf);
   *intr = llbuf;
 
   b = strstr(buff, "ctxt ");
-  if(b) sscanf(b,  "ctxt %Lu", &llbuf);
+  if(b) sscanf(b,  "ctxt %llu", &llbuf);
   *ctxt = llbuf;
 
   b = strstr(buff, "btime ");
diff -ru src.orig//top/top.c src/top/top.c
--- src.orig//top/top.c	2014-06-26 16:42:50.433440480 +0200
+++ src/top/top.c	2014-06-26 16:43:08.505434550 +0200
@@ -2363,7 +2363,7 @@
    sum_ptr = &cpus[sumSLOT];
    memcpy(&sum_ptr->sav, &sum_ptr->cur, sizeof(CT_t));
    // then value the last slot with the cpu summary line
-   if (4 > sscanf(bp, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
+   if (4 > sscanf(bp, "cpu %llu %llu %llu %llu %llu %llu %llu %llu"
       , &sum_ptr->cur.u, &sum_ptr->cur.n, &sum_ptr->cur.s
       , &sum_ptr->cur.i, &sum_ptr->cur.w, &sum_ptr->cur.x
       , &sum_ptr->cur.y, &sum_ptr->cur.z))
@@ -2394,7 +2394,7 @@
       bp = 1 + strchr(bp, '\n');
       // remember from last time around
       memcpy(&cpu_ptr->sav, &cpu_ptr->cur, sizeof(CT_t));
-      if (4 > sscanf(bp, "cpu%d %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", &cpu_ptr->id
+      if (4 > sscanf(bp, "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu", &cpu_ptr->id
          , &cpu_ptr->cur.u, &cpu_ptr->cur.n, &cpu_ptr->cur.s
          , &cpu_ptr->cur.i, &cpu_ptr->cur.w, &cpu_ptr->cur.x
          , &cpu_ptr->cur.y, &cpu_ptr->cur.z)) {
