]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix cygwin compilation.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 11 Apr 2010 19:24:21 +0000 (21:24 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 11 Apr 2010 19:24:21 +0000 (21:24 +0200)
* configure.ac: Define NEED_REGISTER_FRAME_INFO.
* include/grub/misc.h (__register_frame_info)
[NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
* kern/misc.c (__register_frame_info)
[NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.

ChangeLog
configure.ac
include/grub/misc.h
kern/misc.c

index 61f1bc20e9c71876dbdd7a14bc2a4d19dd6b65cc..d766bcd50bcba9ae5c1e78af1b4cfd5aac67246b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Fix cygwin compilation.
+
+       * configure.ac: Define NEED_REGISTER_FRAME_INFO.
+       * include/grub/misc.h (__register_frame_info)
+       [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
+       (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
+       * kern/misc.c (__register_frame_info)
+       [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
+       (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
+
 2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
index 66e06bc865325aa45333831c3ee8341218b60944..3116d65841d2155dd43f6069b86f1b1cac0b30dc 100644 (file)
@@ -376,7 +376,11 @@ AC_SUBST(TARGET_IMG_CFLAGS)
 # For platforms where ELF is not the default link format.
 AC_MSG_CHECKING([for command to convert module to ELF format])
 case "${host_os}" in
-  cygwin) TARGET_OBJ2ELF='grub-pe2elf' ;;
+  cygwin) TARGET_OBJ2ELF='grub-pe2elf';
+# FIXME: put proper test here
+  AC_DEFINE([NEED_REGISTER_FRAME_INFO], 1,
+           [Define to 1 if GCC generates calls to __register_frame_info()])
+  ;;
   *) ;;
 esac
 AC_SUBST(TARGET_OBJ2ELF)
index 61174c38d355dd3ab06972dc8eb763eb40512b46..9bfc6974e8127bfce4501ab1477e691569c2aa6f 100644 (file)
@@ -265,6 +265,11 @@ grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n,
 void EXPORT_FUNC(__enable_execute_stack) (void *addr);
 #endif
 
+#if defined (NEED_REGISTER_FRAME_INFO) && !defined(GRUB_UTIL)
+void EXPORT_FUNC (__register_frame_info) (void);
+void EXPORT_FUNC (__deregister_frame_info) (void);
+#endif
+
 /* Inline functions.  */
 
 static inline unsigned int
index 9d8fc70da1b189fd6ea909dc2767d0fa4954404e..ccc01d43f3690af50492460503e8c978ff1b43ba 100644 (file)
@@ -1066,3 +1066,12 @@ void __enable_execute_stack (void *addr __attribute__ ((unused)))
 }
 #endif
 
+#if defined (NEED_REGISTER_FRAME_INFO) && !defined(GRUB_UTIL)
+void __register_frame_info (void)
+{
+}
+
+void __deregister_frame_info (void)
+{
+}
+#endif