summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 12:15:24 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-03-29 12:15:24 +0200
commit8763e1a7b17973eda0438b170e9f91b671997fc0 (patch)
tree40d17294f607d39109e2f15e161fda8a3b19f694
parent72b258e7e809555b03582127a89bc3cb94a0ae01 (diff)
64bit: Fix format warnings
* i386/i386at/biosmem.c: Include <inttypes.h> (biosmem_map_show, biosmem_load_segment): Use PRIx64.
-rw-r--r--i386/i386at/biosmem.c5
-rw-r--r--include/inttypes.h62
2 files changed, 65 insertions, 2 deletions
diff --git a/i386/i386at/biosmem.c b/i386/i386at/biosmem.c
index 28b6fb83..9f86b66a 100644
--- a/i386/i386at/biosmem.c
+++ b/i386/i386at/biosmem.c
@@ -16,6 +16,7 @@
*/
#include <string.h>
+#include <inttypes.h>
#include <i386/model_dep.h>
#include <i386at/biosmem.h>
#include <kern/assert.h>
@@ -829,7 +830,7 @@ biosmem_map_show(void)
for (entry = biosmem_map, end = entry + biosmem_map_size;
entry < end;
entry++)
- printf("biosmem: %018llx:%018llx, %s\n", entry->base_addr,
+ printf("biosmem: %018"PRIx64":%018"PRIx64", %s\n", entry->base_addr,
entry->base_addr + entry->length,
biosmem_type_desc(entry->type));
@@ -857,7 +858,7 @@ biosmem_load_segment(struct biosmem_segment *seg, uint64_t max_phys_end)
return;
}
- printf("biosmem: warning: segment %s truncated to %#llx\n",
+ printf("biosmem: warning: segment %s truncated to %#"PRIx64"\n",
vm_page_seg_name(seg_index), max_phys_end);
phys_end = max_phys_end;
}
diff --git a/include/inttypes.h b/include/inttypes.h
new file mode 100644
index 00000000..ebafb67a
--- /dev/null
+++ b/include/inttypes.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Mach.
+ *
+ * GNU Mach is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _INTTYPES_H_
+#define _INTTYPES_H_
+
+#include <stdint.h>
+
+#ifdef __x86_64__
+#define __64PREFIX "l"
+#else
+#define __64PREFIX "ll"
+#endif
+
+#define PRId8 "d"
+#define PRId16 "d"
+#define PRId32 "d"
+#define PRId64 __64PREFIX"d"
+#define PRIdPTR __64PREFIX"d"
+
+#define PRIi8 "i"
+#define PRIi16 "i"
+#define PRIi32 "i"
+#define PRIi64 __64PREFIX"i"
+#define PRIiPTR __64PREFIX"i"
+
+#define PRIu8 "u"
+#define PRIu16 "u"
+#define PRIu32 "u"
+#define PRIu64 __64PREFIX"u"
+#define PRIuPTR __64PREFIX"u"
+
+#define PRIx8 "x"
+#define PRIx16 "x"
+#define PRIx32 "x"
+#define PRIx64 __64PREFIX"x"
+#define PRIxPTR __64PREFIX"x"
+
+#define PRIx8 "x"
+#define PRIx16 "x"
+#define PRIx32 "x"
+#define PRIx64 __64PREFIX"x"
+#define PRIxPTR __64PREFIX"x"
+
+#endif /* _INTTYPES_H_ */