diff --git a/logcat/event-log-tags b/logcat/event-log-tags
index d2eff60..28cad0a 100644
--- a/logcat/event-log-tags
+++ b/logcat/event-log-tags
@@ -343,4 +343,4 @@
 
 # browser stats for diary study
 70101 browser_zoom_level_change (start level|1|5),(end level|1|5),(time|2|3)
-70102 browser_double_tap_duration (duration|1|3),(time|2|3)
\ No newline at end of file
+70102 browser_double_tap_duration (duration|1|3),(time|2|3)
diff --git a/toolbox/mkdosfs.c b/toolbox/mkdosfs.c
index 9ba9409..744aad1 100644
--- a/toolbox/mkdosfs.c
+++ b/toolbox/mkdosfs.c
@@ -387,9 +387,8 @@
 	    exit(1);
 	}
 
-    lseek(fd1, 0, SEEK_SET);
-    off_t length = lseek(fd1, 0, SEEK_END);
-    fprintf(stderr, "lseek returned %ld\n", length);
+    lseek64(fd1, 0, SEEK_SET);
+    loff_t length = lseek64(fd1, 0, SEEK_END);
     if (length > 0) {
         bpb.bsec = length / bpb.bps;
         bpb.spt = bpb.bsec;
@@ -615,8 +614,8 @@
 		fat == 32 && bpb.bkbs != MAXU16 &&
 		bss <= bpb.bkbs && x >= bpb.bkbs) {
 		x -= bpb.bkbs;
-		if (!x && lseek(fd1, 0, SEEK_SET))
-		    fprintf(stderr, "lseek failed for %s\n", bname);
+		if (!x && lseek64(fd1, 0, SEEK_SET))
+		    fprintf(stderr, "lseek64 failed for %s\n", bname);
 	    }
 	    if (opt_B && x < bss) {
 		if ((n = read(fd1, img, bpb.bps)) == -1)
diff --git a/vold/blkdev.c b/vold/blkdev.c
index 131fd5a..533bc35 100644
--- a/vold/blkdev.c
+++ b/vold/blkdev.c
@@ -149,7 +149,7 @@
                  (blk->type == blkdev_disk ? "Disk" : "Partition"),
                  blk->major, blk->minor,
                  blk->nr_sec,
-                 ((blk->nr_sec * 512) / 1024) / 1024);
+                 (uint32_t) (((uint64_t) blk->nr_sec * 512) / 1024) / 1024);
 
     if (blk->type == blkdev_disk) 
         sprintf(tmp2, " %d partitions", blk->nr_parts);
