Some older GCC versions produce following error when x86 MSR modules are build:
In file included from commands/i386/rdmsr.c:29:0: ../include/grub/i386/rdmsr.h:27:29: error: no previous prototype for ‘grub_msr_read’ [-Werror=missing-prototypes] extern inline grub_uint64_t grub_msr_read (grub_uint32_t msr_id) ^ cc1: all warnings being treated as errors This is due to incorrect use of extern keyword. So, replace it with static keyword. Additionally, fix incorrect coding style. Reported-by: Eric Snowberg <eric.snowb...@oracle.com> Reported-by: adrian15 <adrian15...@gmail.com> Signed-off-by: Daniel Kiper <daniel.ki...@oracle.com> --- include/grub/i386/rdmsr.h | 3 ++- include/grub/i386/wrmsr.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/grub/i386/rdmsr.h b/include/grub/i386/rdmsr.h index bddb7bbbb..c0a0c717a 100644 --- a/include/grub/i386/rdmsr.h +++ b/include/grub/i386/rdmsr.h @@ -24,7 +24,8 @@ * Accessing a reserved or unimplemented MSR address results in a GP#. */ -extern inline grub_uint64_t grub_msr_read (grub_uint32_t msr_id) +static inline grub_uint64_t +grub_msr_read (grub_uint32_t msr_id) { grub_uint32_t low, high; diff --git a/include/grub/i386/wrmsr.h b/include/grub/i386/wrmsr.h index e14d7807f..dea60aed1 100644 --- a/include/grub/i386/wrmsr.h +++ b/include/grub/i386/wrmsr.h @@ -24,7 +24,8 @@ * Accessing a reserved or unimplemented MSR address results in a GP#. */ -extern inline void grub_msr_write(grub_uint32_t msr_id, grub_uint64_t msr_value) +static inline void +grub_msr_write(grub_uint32_t msr_id, grub_uint64_t msr_value) { grub_uint32_t low = msr_value, high = msr_value >> 32; -- 2.11.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel