From ee8c1b295ae189811a9cb17745e36ab3105fe62c Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sun, 13 Oct 2013 21:17:54 +0200 Subject: [PATCH] * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later. --- ChangeLog | 4 ++++ include/grub/misc.h | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae500e69a..d97437994 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-10-13 Vladimir Serbinenko + + * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later. + 2013-10-13 Vladimir Serbinenko Add a wrapper for fopen. On unix-like systems just pass-through. On diff --git a/include/grub/misc.h b/include/grub/misc.h index 01abc69a4..075a81cf1 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -42,6 +42,13 @@ # define ATTRIBUTE_ERROR(msg) __attribute__ ((noreturn)) #endif +#if GNUC_PREREQ(4,4) +# define GNU_PRINTF gnu_printf +#else +# define GNU_PRINTF printf +#endif + + #define ALIGN_UP(addr, align) \ ((addr + (typeof (addr)) align - 1) & ~((typeof (addr)) align - 1)) #define ALIGN_UP_OVERHEAD(addr, align) ((-(addr)) & ((typeof (addr)) (align) - 1)) @@ -328,8 +335,8 @@ char *EXPORT_FUNC(grub_strdup) (const char *s) __attribute__ ((warn_unused_resul char *EXPORT_FUNC(grub_strndup) (const char *s, grub_size_t n) __attribute__ ((warn_unused_result)); void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n); grub_size_t EXPORT_FUNC(grub_strlen) (const char *s) __attribute__ ((warn_unused_result)); -int EXPORT_FUNC(grub_printf) (const char *fmt, ...) __attribute__ ((format (gnu_printf, 1, 2))); -int EXPORT_FUNC(grub_printf_) (const char *fmt, ...) __attribute__ ((format (gnu_printf, 1, 2))); +int EXPORT_FUNC(grub_printf) (const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 1, 2))); +int EXPORT_FUNC(grub_printf_) (const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 1, 2))); /* Replace all `ch' characters of `input' with `with' and copy the result into `output'; return EOS address of `output'. */ @@ -367,14 +374,14 @@ int EXPORT_FUNC(grub_puts_) (const char *s); void EXPORT_FUNC(grub_real_dprintf) (const char *file, const int line, const char *condition, - const char *fmt, ...) __attribute__ ((format (gnu_printf, 4, 5))); + const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 4, 5))); int EXPORT_FUNC(grub_vprintf) (const char *fmt, va_list args); int EXPORT_FUNC(grub_snprintf) (char *str, grub_size_t n, const char *fmt, ...) - __attribute__ ((format (gnu_printf, 3, 4))); + __attribute__ ((format (GNU_PRINTF, 3, 4))); int EXPORT_FUNC(grub_vsnprintf) (char *str, grub_size_t n, const char *fmt, va_list args); char *EXPORT_FUNC(grub_xasprintf) (const char *fmt, ...) - __attribute__ ((format (gnu_printf, 1, 2))) __attribute__ ((warn_unused_result)); + __attribute__ ((format (GNU_PRINTF, 1, 2))) __attribute__ ((warn_unused_result)); char *EXPORT_FUNC(grub_xvasprintf) (const char *fmt, va_list args) __attribute__ ((warn_unused_result)); void EXPORT_FUNC(grub_exit) (void) __attribute__ ((noreturn)); void EXPORT_FUNC(grub_abort) (void) __attribute__ ((noreturn)); @@ -472,7 +479,7 @@ extern struct grub_boot_time *EXPORT_VAR(grub_boot_time_head); void EXPORT_FUNC(grub_real_boot_time) (const char *file, const int line, - const char *fmt, ...) __attribute__ ((format (gnu_printf, 3, 4))); + const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 3, 4))); #define grub_boot_time(fmt, args...) grub_real_boot_time(GRUB_FILE, __LINE__, fmt, ## args) #else #define grub_boot_time(fmt, args...)