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:
parent
5d6015ddf6
commit
742f9232e3
15 changed files with 133 additions and 87 deletions
|
@ -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
|
||||||
|
|
27
ChangeLog
27
ChangeLog
|
@ -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_*
|
||||||
|
|
61
acinclude.m4
61
acinclude.m4
|
@ -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
38
config.h.in
Normal 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
|
31
configure.ac
31
configure.ac
|
@ -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
|
||||||
[
|
[
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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__)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue