From 8763e1a7b17973eda0438b170e9f91b671997fc0 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 29 Mar 2020 12:15:24 +0200 Subject: 64bit: Fix format warnings * i386/i386at/biosmem.c: Include (biosmem_map_show, biosmem_load_segment): Use PRIx64. --- i386/i386at/biosmem.c | 5 +++-- include/inttypes.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 include/inttypes.h 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 +#include #include #include #include @@ -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 + +#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_ */ -- cgit v1.2.3