#include <time.h>
 #include <setjmp.h>
 #include <signal.h>
+#include <inttypes.h>
 #include <sys/types.h>
 #include <sys/errno.h>
 #include <sys/fcntl.h>
                if (opt_file)
                        printf("%lx\t", voff);
                if (opt_list_cgroup)
-                       printf("@%llu\t", (unsigned long long)cgroup0);
+                       printf("@%" PRIu64 "\t", cgroup0);
                if (opt_list_mapcnt)
-                       printf("%lu\t", mapcnt0);
+                       printf("%" PRIu64 "\t", mapcnt0);
                printf("%lx\t%lx\t%s\n",
                                index, count, page_flag_name(flags0));
        }
        if (opt_file)
                printf("%lx\t", voffset);
        if (opt_list_cgroup)
-               printf("@%llu\t", (unsigned long long)cgroup);
+               printf("@%" PRIu64 "\t", cgroup)
        if (opt_list_mapcnt)
-               printf("%lu\t", mapcnt);
+               printf("%" PRIu64 "\t", mapcnt);
 
        printf("%lx\t%s\n", offset, page_flag_name(flags));
 }
 
                        slab->cpu_partial_free = get_obj("cpu_partial_free");
                        slab->alloc_node_mismatch = get_obj("alloc_node_mismatch");
                        slab->deactivate_bypass = get_obj("deactivate_bypass");
-                       chdir("..");
+                       if (chdir(".."))
+                               fatal("Unable to chdir from slab ../%s\n",
+                                     slab->name);
                        if (slab->name[0] == ':')
                                alias_targets++;
                        slab++;