Split config.h for util and core.

* acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
	(ADDR32): Likewise.
	(DATA32): Likewise.
	(BSS_START_SYMBOL): Likewise.
	(END_SYMBOL): Likewise.
	(NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
	(grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
	* config.h.in: New file.
	* configure.ac: Use config-util.h as config define file.
	Rename MACHINE into GRUB_MACHINE. All users updated.
	(NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
	updated.
	(NESTED_FUNC_ATTR): Likewise.
	Substitue new variables.
	(COND_HAVE_ASM_USCORE): New conditional.
	* grub-core/Makefile.am (ASM_PREFIX): New variable.
	(kernel_syms.lst): Use ASM_PREFIX.
	* grub-core/kern/emu/console.c: Include config-util.h.
	* grub-core/kern/emu/misc.c: Likewise.
	* grub-core/kern/emu/mm.c: Likewise.
	* include/grub/emu/misc.h: Likewise.
	* include/grub/libgcc.h: Likewise.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-09-19 22:22:43 +02:00
parent 5d6015ddf6
commit 742f9232e3
15 changed files with 133 additions and 87 deletions

View file

@ -15,7 +15,8 @@ build_env.mk
config.cache config.cache
config.guess config.guess
config.h config.h
config.h.in config-util.h
config-util.h.in
config.log config.log
config.status config.status
config.sub config.sub

View file

@ -1,3 +1,30 @@
2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
Split config.h for util and core.
* acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
(ADDR32): Likewise.
(DATA32): Likewise.
(BSS_START_SYMBOL): Likewise.
(END_SYMBOL): Likewise.
(NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
(grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
* config.h.in: New file.
* configure.ac: Use config-util.h as config define file.
Rename MACHINE into GRUB_MACHINE. All users updated.
(NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
updated.
(NESTED_FUNC_ATTR): Likewise.
Substitue new variables.
(COND_HAVE_ASM_USCORE): New conditional.
* grub-core/Makefile.am (ASM_PREFIX): New variable.
(kernel_syms.lst): Use ASM_PREFIX.
* grub-core/kern/emu/console.c: Include config-util.h.
* grub-core/kern/emu/misc.c: Likewise.
* grub-core/kern/emu/mm.c: Likewise.
* include/grub/emu/misc.h: Likewise.
* include/grub/libgcc.h: Likewise.
2010-09-19 Vladimir Serbinenko <phcoder@gmail.com> 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_* * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*

View file

@ -58,18 +58,15 @@ else
fi fi
if $EGREP '(^|[^_[:alnum]])_func' conftest.s >/dev/null 2>&1; then if $EGREP '(^|[^_[:alnum]])_func' conftest.s >/dev/null 2>&1; then
HAVE_ASM_USCORE=1
grub_cv_asm_uscore=yes grub_cv_asm_uscore=yes
else else
HAVE_ASM_USCORE=0
grub_cv_asm_uscore=no grub_cv_asm_uscore=no
fi fi
rm -f conftest*]) rm -f conftest*])
if test "x$grub_cv_asm_uscore" = xyes; then
AC_DEFINE_UNQUOTED([HAVE_ASM_USCORE], $grub_cv_asm_uscore,
[Define if C symbols get an underscore after compilation])
fi
AC_MSG_RESULT([$grub_cv_asm_uscore]) AC_MSG_RESULT([$grub_cv_asm_uscore])
]) ])
@ -237,44 +234,12 @@ else
grub_tmp_data32="data32;" grub_tmp_data32="data32;"
fi fi
AC_DEFINE_UNQUOTED([ADDR32], $grub_tmp_addr32, ADDR32=$grub_tmp_addr32
[Define it to \"addr32\" or \"addr32;\" to make GAS happy]) DATA32=$grub_tmp_data32
AC_DEFINE_UNQUOTED([DATA32], $grub_tmp_data32,
[Define it to \"data32\" or \"data32;\" to make GAS happy])
AC_MSG_RESULT([$grub_cv_i386_asm_prefix_requirement])]) AC_MSG_RESULT([$grub_cv_i386_asm_prefix_requirement])])
dnl Older versions of GAS require that absolute indirect calls/jumps are
dnl not prefixed with `*', while later versions warn if not prefixed.
AC_DEFUN([grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK],
[AC_REQUIRE([AC_PROG_CC])
AC_MSG_CHECKING(dnl
[whether an absolute indirect call/jump must not be prefixed with an asterisk])
AC_CACHE_VAL(grub_cv_i386_asm_absolute_without_asterisk,
[cat > conftest.s <<\EOF
lcall *(offset)
offset:
.long 0
.word 0
EOF
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
grub_cv_i386_asm_absolute_without_asterisk=no
else
grub_cv_i386_asm_absolute_without_asterisk=yes
fi
rm -f conftest*])
if test "x$grub_cv_i386_asm_absolute_without_asterisk" = xyes; then
AC_DEFINE([ABSOLUTE_WITHOUT_ASTERISK], 1,
[Define it if GAS requires that absolute indirect calls/jumps are not prefixed with an asterisk])
fi
AC_MSG_RESULT([$grub_cv_i386_asm_absolute_without_asterisk])])
dnl Check what symbol is defined as a bss start symbol. dnl Check what symbol is defined as a bss start symbol.
dnl Written by Michael Hohmoth and Yoshinori K. Okuji. dnl Written by Michael Hohmoth and Yoshinori K. Okuji.
AC_DEFUN([grub_CHECK_BSS_START_SYMBOL], AC_DEFUN([grub_CHECK_BSS_START_SYMBOL],
@ -306,14 +271,12 @@ AC_CACHE_VAL(grub_cv_check_uscore_edata_symbol,
AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol]) AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol])
AH_TEMPLATE([BSS_START_SYMBOL], [Define it to one of __bss_start, edata and _edata])
if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then
AC_DEFINE([BSS_START_SYMBOL], [__bss_start]) BSS_START_SYMBOL=__bss_start
elif test "x$grub_cv_check_edata_symbol" = xyes; then elif test "x$grub_cv_check_edata_symbol" = xyes; then
AC_DEFINE([BSS_START_SYMBOL], [edata]) BSS_START_SYMBOL=edata
elif test "x$grub_cv_check_uscore_edata_symbol" = xyes; then elif test "x$grub_cv_check_uscore_edata_symbol" = xyes; then
AC_DEFINE([BSS_START_SYMBOL], [_edata]) BSS_START_SYMBOL=_edata
else else
AC_MSG_ERROR([none of __bss_start, edata or _edata is defined]) AC_MSG_ERROR([none of __bss_start, edata or _edata is defined])
fi fi
@ -341,12 +304,10 @@ AC_CACHE_VAL(grub_cv_check_uscore_end_symbol,
AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol]) AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol])
AH_TEMPLATE([END_SYMBOL], [Define it to either end or _end])
if test "x$grub_cv_check_end_symbol" = xyes; then if test "x$grub_cv_check_end_symbol" = xyes; then
AC_DEFINE([END_SYMBOL], [end]) END_SYMBOL=end
elif test "x$grub_cv_check_uscore_end_symbol" = xyes; then elif test "x$grub_cv_check_uscore_end_symbol" = xyes; then
AC_DEFINE([END_SYMBOL], [_end]) END_SYMBOL=_end
else else
AC_MSG_ERROR([neither end nor _end is defined]) AC_MSG_ERROR([neither end nor _end is defined])
fi fi
@ -369,10 +330,10 @@ else
AC_MSG_ERROR([${CC-cc} failed to produce assembly code]) AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
fi fi
if grep __enable_execute_stack conftest.s >/dev/null 2>&1; then if grep __enable_execute_stack conftest.s >/dev/null 2>&1; then
AC_DEFINE([NEED_ENABLE_EXECUTE_STACK], 1, NEED_ENABLE_EXECUTE_STACK=1
[Define to 1 if GCC generates calls to __enable_execute_stack()])
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
else else
NEED_ENABLE_EXECUTE_STACK=0
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
rm -f conftest* rm -f conftest*

38
config.h.in Normal file
View file

@ -0,0 +1,38 @@
#if defined (GRUB_UTIL) || !defined (GRUB_MACHINE)
#include <config-util.h>
#define NESTED_FUNC_ATTR
#else
/* Define if C symbols get an underscore after compilation. */
#define HAVE_ASM_USCORE @HAVE_ASM_USCORE@
/* Define it to \"addr32\" or \"addr32;\" to make GAS happy. */
#define ADDR32 @ADDR32@
/* Define it to \"data32\" or \"data32;\" to make GAS happy. */
#define DATA32 @DATA32@
/* Define it to one of __bss_start, edata and _edata. */
#define BSS_START_SYMBOL @BSS_START_SYMBOL@
/* Define it to either end or _end. */
#define END_SYMBOL @END_SYMBOL@
/* Name of package. */
#define PACKAGE "@PACKAGE@"
/* Version number of package. */
#define VERSION "@VERSION@"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "@PACKAGE_STRING@"
/* Define to the version of this package. */
#define PACKAGE_VERSION "@PACKAGE_VERSION@"
/* Define to the full name of this package. */
#define PACKAGE_NAME "@PACKAGE_NAME@"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
/* Define to 1 if GCC generates calls to __enable_execute_stack(). */
#define NEED_ENABLE_EXECUTE_STACK @NEED_ENABLE_EXECUTE_STACK@
/* Define to 1 if GCC generates calls to __register_frame_info(). */
#define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@
#if defined(__i386__)
#define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (1)))
#else
#define NESTED_FUNC_ATTR
#endif
#endif

View file

@ -44,7 +44,7 @@ AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE() AM_INIT_AUTOMAKE()
AC_PREREQ(2.60) AC_PREREQ(2.60)
AC_CONFIG_SRCDIR([include/grub/dl.h]) AC_CONFIG_SRCDIR([include/grub/dl.h])
AC_CONFIG_HEADER([config.h]) AC_CONFIG_HEADER([config-util.h])
# Program name transformations # Program name transformations
AC_ARG_PROGRAM AC_ARG_PROGRAM
@ -164,7 +164,7 @@ case "$target_cpu" in
mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;; mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
sparc64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;; sparc64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
esac esac
machine_CPPFLAGS="$machine_CPPFLAGS -DMACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`" machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
HOST_CPPFLAGS="$HOST_CPPFLAGS $machine_CPPFLAGS" HOST_CPPFLAGS="$HOST_CPPFLAGS $machine_CPPFLAGS"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS $machine_CPPFLAGS" TARGET_CPPFLAGS="$TARGET_CPPFLAGS $machine_CPPFLAGS"
@ -431,10 +431,9 @@ AC_MSG_CHECKING([for command to convert module to ELF format])
case "${host_os}" in case "${host_os}" in
cygwin) TARGET_OBJ2ELF='$(grub_utildir)/grub-pe2elf'; cygwin) TARGET_OBJ2ELF='$(grub_utildir)/grub-pe2elf';
# FIXME: put proper test here # FIXME: put proper test here
AC_DEFINE([NEED_REGISTER_FRAME_INFO], 1, NEED_REGISTER_FRAME_INFO=1
[Define to 1 if GCC generates calls to __register_frame_info()])
;; ;;
*) ;; *) NEED_REGISTER_FRAME_INFO=0 ;;
esac esac
AC_MSG_RESULT([$TARGET_OBJ2ELF]) AC_MSG_RESULT([$TARGET_OBJ2ELF])
@ -590,17 +589,8 @@ if test "x$target_cpu" = xi386; then
CFLAGS="$TARGET_CFLAGS" CFLAGS="$TARGET_CFLAGS"
grub_I386_ASM_PREFIX_REQUIREMENT grub_I386_ASM_PREFIX_REQUIREMENT
grub_I386_ASM_ADDR32 grub_I386_ASM_ADDR32
grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK
else
AC_DEFINE([NESTED_FUNC_ATTR], [], [Catch gcc bug])
fi fi
AH_BOTTOM([#if defined(__i386__) && !defined(GRUB_UTIL)
#define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (1)))
#else
#define NESTED_FUNC_ATTR
#endif])
AC_ARG_ENABLE([efiemu], AC_ARG_ENABLE([efiemu],
[AS_HELP_STRING([--enable-efiemu], [AS_HELP_STRING([--enable-efiemu],
[build and install the efiemu runtimes (default=guessed)])]) [build and install the efiemu runtimes (default=guessed)])])
@ -872,6 +862,16 @@ AS_IF([test x$target_cpu = xi386 -a x$platform = xqemu],
AS_IF([test x$TARGET_APPLE_CC = x1], AS_IF([test x$TARGET_APPLE_CC = x1],
[AC_SUBST([USE_APPLE_CC_FIXES], yes)]) [AC_SUBST([USE_APPLE_CC_FIXES], yes)])
AC_SUBST(HAVE_ASM_USCORE)
AC_SUBST(ADDR32)
AC_SUBST(DATA32)
AC_SUBST(BSS_START_SYMBOL)
AC_SUBST(END_SYMBOL)
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(NEED_ENABLE_EXECUTE_STACK)
AC_SUBST(NEED_REGISTER_FRAME_INFO)
# #
# Automake conditionals # Automake conditionals
# #
@ -906,6 +906,8 @@ AM_CONDITIONAL([COND_GRUB_PE2ELF], [test x$TARGET_OBJ2ELF != x])
AM_CONDITIONAL([COND_APPLE_CC], [test x$TARGET_APPLE_CC = x1]) AM_CONDITIONAL([COND_APPLE_CC], [test x$TARGET_APPLE_CC = x1])
AM_CONDITIONAL([COND_ENABLE_EFIEMU], [test x$enable_efiemu = xyes]) AM_CONDITIONAL([COND_ENABLE_EFIEMU], [test x$enable_efiemu = xyes])
AM_CONDITIONAL([COND_HAVE_ASM_USCORE], [test x$HAVE_ASM_USCORE = x1])
# Output files. # Output files.
grub_CHECK_LINK_DIR grub_CHECK_LINK_DIR
if test x"$link_dir" = xyes ; then if test x"$link_dir" = xyes ; then
@ -929,6 +931,7 @@ AC_CONFIG_FILES([po/Makefile])
AC_CONFIG_FILES([docs/Makefile]) AC_CONFIG_FILES([docs/Makefile])
AC_CONFIG_FILES([util/bash-completion.d/Makefile]) AC_CONFIG_FILES([util/bash-completion.d/Makefile])
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h]) AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
AC_CONFIG_FILES([config.h])
AC_OUTPUT AC_OUTPUT
[ [

View file

@ -173,13 +173,19 @@ symlist.c: symlist.h gensymlist.sh
CLEANFILES += symlist.c CLEANFILES += symlist.c
BUILT_SOURCES += symlist.c BUILT_SOURCES += symlist.c
if COND_HAVE_ASM_USCORE
ASM_PREFIX=1
else
ASM_PREFIX=
endif
noinst_DATA += kernel_syms.lst noinst_DATA += kernel_syms.lst
kernel_syms.lst: $(KERNEL_HEADER_FILES) $(top_builddir)/config.h kernel_syms.lst: $(KERNEL_HEADER_FILES) $(top_builddir)/config.h
$(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) $(CFLAGS) -DGRUB_SYMBOL_GENERATOR=1 $^ >kernel_syms.input $(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) $(CFLAGS) -DGRUB_SYMBOL_GENERATOR=1 $^ >kernel_syms.input
if grep "^#define HAVE_ASM_USCORE" $(top_builddir)/config.h; then u="_"; else u=""; fi; \
cat kernel_syms.input | grep -v '^#' | sed -n \ cat kernel_syms.input | grep -v '^#' | sed -n \
-e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC *(\([a-zA-Z0-9_]*\)).*/defined '"$$u"'kernel \1/;p;}' \ -e '/EXPORT_FUNC *([a-zA-Z0-9_]*)/{s/.*EXPORT_FUNC *(\([a-zA-Z0-9_]*\)).*/defined '"$(ASM_PREFIX)"'kernel \1/;p;}' \
-e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR *(\([a-zA-Z0-9_]*\)).*/defined '"$$u"' kernel \1/;p;}' \ -e '/EXPORT_VAR *([a-zA-Z0-9_]*)/{s/.*EXPORT_VAR *(\([a-zA-Z0-9_]*\)).*/defined '"$(ASM_PREFIX)"' kernel \1/;p;}' \
| sort -u >$@ | sort -u >$@
rm -f kernel_syms.input rm -f kernel_syms.input
CLEANFILES += kernel_syms.lst CLEANFILES += kernel_syms.lst

View file

@ -18,6 +18,7 @@
*/ */
#include <config.h> #include <config.h>
#include <config-util.h>
/* For compatibility. */ /* For compatibility. */
#ifndef A_NORMAL #ifndef A_NORMAL
@ -37,6 +38,8 @@
# include <ncurses.h> # include <ncurses.h>
#elif defined(HAVE_CURSES_H) #elif defined(HAVE_CURSES_H)
# include <curses.h> # include <curses.h>
#else
#error What the hell?
#endif #endif
static int grub_console_attr = A_NORMAL; static int grub_console_attr = A_NORMAL;

View file

@ -16,6 +16,7 @@
* along with GRUB. If not, see <http://www.gnu.org/licenses/>. * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <config-util.h>
#include <config.h> #include <config.h>
#include <errno.h> #include <errno.h>

View file

@ -16,6 +16,8 @@
* along with GRUB. If not, see <http://www.gnu.org/licenses/>. * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <config-util.h>
#include <grub/types.h> #include <grub/types.h>
#include <grub/err.h> #include <grub/err.h>
#include <grub/mm.h> #include <grub/mm.h>

View file

@ -999,7 +999,7 @@ grub_abort (void)
void abort (void) __attribute__ ((alias ("grub_abort"))); void abort (void) __attribute__ ((alias ("grub_abort")));
#endif #endif
#if defined(NEED_ENABLE_EXECUTE_STACK) && !defined(GRUB_UTIL) && !defined(GRUB_MACHINE_EMU) #if NEED_ENABLE_EXECUTE_STACK && !defined(GRUB_UTIL) && !defined(GRUB_MACHINE_EMU)
/* Some gcc versions generate a call to this function /* Some gcc versions generate a call to this function
in trampolines for nested functions. */ in trampolines for nested functions. */
void __enable_execute_stack (void *addr __attribute__ ((unused))) void __enable_execute_stack (void *addr __attribute__ ((unused)))
@ -1007,7 +1007,7 @@ void __enable_execute_stack (void *addr __attribute__ ((unused)))
} }
#endif #endif
#if defined (NEED_REGISTER_FRAME_INFO) && !defined(GRUB_UTIL) #if NEED_REGISTER_FRAME_INFO && !defined(GRUB_UTIL)
void __register_frame_info (void) void __register_frame_info (void)
{ {
} }

View file

@ -19,6 +19,9 @@
#ifndef GRUB_EMU_MISC_H #ifndef GRUB_EMU_MISC_H
#define GRUB_EMU_MISC_H 1 #define GRUB_EMU_MISC_H 1
#include <config-util.h>
#include <stdarg.h>
#include <grub/symbol.h> #include <grub/symbol.h>
#include <grub/types.h> #include <grub/types.h>
#include <grub/util/libzfs.h> #include <grub/util/libzfs.h>

View file

@ -16,7 +16,8 @@
* along with GRUB. If not, see <http://www.gnu.org/licenses/>. * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <config.h> /* We need to include config-util.h.in for HAVE_*. */
#include <config-util.h>
/* On x86 these functions aren't really needed. Save some space. */ /* On x86 these functions aren't really needed. Save some space. */
#if !defined (__i386__) && !defined (__x86_64__) #if !defined (__i386__) && !defined (__x86_64__)

View file

@ -270,11 +270,11 @@ void EXPORT_FUNC(grub_abort) (void) __attribute__ ((noreturn));
grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n, grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n,
grub_uint32_t d, grub_uint32_t *r); grub_uint32_t d, grub_uint32_t *r);
#if defined(NEED_ENABLE_EXECUTE_STACK) && !defined(GRUB_UTIL) #if NEED_ENABLE_EXECUTE_STACK && !defined(GRUB_UTIL)
void EXPORT_FUNC(__enable_execute_stack) (void *addr); void EXPORT_FUNC(__enable_execute_stack) (void *addr);
#endif #endif
#if defined (NEED_REGISTER_FRAME_INFO) && !defined(GRUB_UTIL) #if NEED_REGISTER_FRAME_INFO && !defined(GRUB_UTIL)
void EXPORT_FUNC (__register_frame_info) (void); void EXPORT_FUNC (__register_frame_info) (void);
void EXPORT_FUNC (__deregister_frame_info) (void); void EXPORT_FUNC (__deregister_frame_info) (void);
#endif #endif

View file

@ -150,22 +150,22 @@
rewrite grub-mkimage to generate valid ELF files. */ rewrite grub-mkimage to generate valid ELF files. */
#define GRUB_KERNEL_POWERPC_IEEE1275_MOD_GAP 0x8000 #define GRUB_KERNEL_POWERPC_IEEE1275_MOD_GAP 0x8000
#ifdef MACHINE #ifdef GRUB_MACHINE
#define GRUB_OFFSETS_CONCAT_(a,b,c) a ## b ## c #define GRUB_OFFSETS_CONCAT_(a,b,c) a ## b ## c
#define GRUB_OFFSETS_CONCAT(a,b,c) GRUB_OFFSETS_CONCAT_(a,b,c) #define GRUB_OFFSETS_CONCAT(a,b,c) GRUB_OFFSETS_CONCAT_(a,b,c)
#define GRUB_KERNEL_MACHINE_MOD_ALIGN GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _MOD_ALIGN) #define GRUB_KERNEL_MACHINE_MOD_ALIGN GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _MOD_ALIGN)
#define GRUB_KERNEL_MACHINE_MOD_GAP GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _MOD_GAP) #define GRUB_KERNEL_MACHINE_MOD_GAP GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _MOD_GAP)
#define GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _TOTAL_MODULE_SIZE) #define GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _TOTAL_MODULE_SIZE)
#define GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _KERNEL_IMAGE_SIZE) #define GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _KERNEL_IMAGE_SIZE)
#define GRUB_KERNEL_MACHINE_COMPRESSED_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _COMPRESSED_SIZE) #define GRUB_KERNEL_MACHINE_COMPRESSED_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _COMPRESSED_SIZE)
#define GRUB_KERNEL_MACHINE_PREFIX GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _PREFIX) #define GRUB_KERNEL_MACHINE_PREFIX GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _PREFIX)
#define GRUB_KERNEL_MACHINE_PREFIX_END GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _PREFIX_END) #define GRUB_KERNEL_MACHINE_PREFIX_END GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _PREFIX_END)
#define GRUB_BOOT_MACHINE_KERNEL_SEG GRUB_OFFSETS_CONCAT (GRUB_BOOT_, MACHINE, _KERNEL_SEG) #define GRUB_BOOT_MACHINE_KERNEL_SEG GRUB_OFFSETS_CONCAT (GRUB_BOOT_, GRUB_MACHINE, _KERNEL_SEG)
#define GRUB_MEMORY_MACHINE_UPPER GRUB_OFFSETS_CONCAT (GRUB_MEMORY_, MACHINE, _UPPER) #define GRUB_MEMORY_MACHINE_UPPER GRUB_OFFSETS_CONCAT (GRUB_MEMORY_, GRUB_MACHINE, _UPPER)
#define GRUB_KERNEL_MACHINE_RAW_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _RAW_SIZE) #define GRUB_KERNEL_MACHINE_RAW_SIZE GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _RAW_SIZE)
#define GRUB_KERNEL_MACHINE_INSTALL_BSD_PART GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _INSTALL_BSD_PART) #define GRUB_KERNEL_MACHINE_INSTALL_BSD_PART GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _INSTALL_BSD_PART)
#define GRUB_KERNEL_MACHINE_INSTALL_DOS_PART GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, MACHINE, _INSTALL_DOS_PART) #define GRUB_KERNEL_MACHINE_INSTALL_DOS_PART GRUB_OFFSETS_CONCAT (GRUB_KERNEL_, GRUB_MACHINE, _INSTALL_DOS_PART)
#endif #endif
#ifndef ASM_FILE #ifndef ASM_FILE

View file

@ -25,7 +25,7 @@
#define LOCAL(sym) L_ ## sym #define LOCAL(sym) L_ ## sym
/* Add an underscore to a C symbol in assembler code if needed. */ /* Add an underscore to a C symbol in assembler code if needed. */
#ifdef HAVE_ASM_USCORE #if HAVE_ASM_USCORE
# define EXT_C(sym) _ ## sym # define EXT_C(sym) _ ## sym
#else #else
# define EXT_C(sym) sym # define EXT_C(sym) sym