diff --git a/ChangeLog b/ChangeLog index 1ae823dd7..a7e519291 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-11-08 Vladimir Serbinenko + + * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic. + 2013-11-08 Vladimir Serbinenko * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as diff --git a/include/grub/symbol.h b/include/grub/symbol.h index cfc00f202..8f54dd8b9 100644 --- a/include/grub/symbol.h +++ b/include/grub/symbol.h @@ -40,16 +40,16 @@ #if defined (__APPLE__) #define FUNCTION(x) .globl EXT_C(x) ; EXT_C(x): #define VARIABLE(x) .globl EXT_C(x) ; EXT_C(x): -#elif ! defined (__CYGWIN__) && ! defined (__MINGW32__) -#define FUNCTION(x) .globl EXT_C(x) ; .type EXT_C(x), @function ; EXT_C(x): -#define VARIABLE(x) .globl EXT_C(x) ; .type EXT_C(x), @object ; EXT_C(x): +#elif defined (__CYGWIN__) || defined (__MINGW32__) +/* .type not supported for non-ELF targets. XXX: Check this in configure? */ +#define FUNCTION(x) .globl EXT_C(x) ; .def EXT_C(x); .scl 2; .type 32; .endef; EXT_C(x): +#define VARIABLE(x) .globl EXT_C(x) ; .def EXT_C(x); .scl 2; .type 0; .endef; EXT_C(x): #elif defined (__arm__) #define FUNCTION(x) .globl EXT_C(x) ; .type EXT_C(x), %function ; EXT_C(x): #define VARIABLE(x) .globl EXT_C(x) ; .type EXT_C(x), %object ; EXT_C(x): #else -/* .type not supported for non-ELF targets. XXX: Check this in configure? */ -#define FUNCTION(x) .globl EXT_C(x) ; .def EXT_C(x); .scl 2; .type 32; .endef; EXT_C(x): -#define VARIABLE(x) .globl EXT_C(x) ; .def EXT_C(x); .scl 2; .type 0; .endef; EXT_C(x): +#define FUNCTION(x) .globl EXT_C(x) ; .type EXT_C(x), @function ; EXT_C(x): +#define VARIABLE(x) .globl EXT_C(x) ; .type EXT_C(x), @object ; EXT_C(x): #endif #endif