diff --git a/ChangeLog b/ChangeLog index 46782e973..7b7d61962 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2009-06-10 Pavel Roskin + * configure.ac: Remove checks for __bswapsi2 and __bswapdi2, + they fail without libc headers for the target. + * include/grub/powerpc/libgcc.h: Use weak attribute for all + exports. + * include/grub/sparc64/libgcc.h: Likewise. Don't use + preprocessor conditionals. + * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The build system doesn't need to be aware of the tar.c internals. diff --git a/configure.ac b/configure.ac index e448c2fd1..8ece3592b 100644 --- a/configure.ac +++ b/configure.ac @@ -409,9 +409,6 @@ CFLAGS="$TARGET_CFLAGS" CPPFLAGS="$TARGET_CPPFLAGS" LDFLAGS="$TARGET_LDFLAGS" -# Check for target functions. -AC_CHECK_FUNCS(__bswapsi2 __bswapdi2) - # Defined in aclocal.m4. grub_PROG_TARGET_CC if test "x$TARGET_APPLE_CC" != x1 ; then diff --git a/include/grub/powerpc/libgcc.h b/include/grub/powerpc/libgcc.h index acdd1467c..bed937767 100644 --- a/include/grub/powerpc/libgcc.h +++ b/include/grub/powerpc/libgcc.h @@ -16,8 +16,8 @@ * along with GRUB. If not, see . */ -void EXPORT_FUNC (memset) (void); -void EXPORT_FUNC (__ashldi3) (void); -void EXPORT_FUNC (__lshrdi3) (void); -void EXPORT_FUNC (__trampoline_setup) (void); -void EXPORT_FUNC (__ucmpdi2) (void); +void EXPORT_FUNC (memset) (void) __attribute__ ((weak)); +void EXPORT_FUNC (__ashldi3) (void) __attribute__ ((weak)); +void EXPORT_FUNC (__lshrdi3) (void) __attribute__ ((weak)); +void EXPORT_FUNC (__trampoline_setup) (void) __attribute__ ((weak)); +void EXPORT_FUNC (__ucmpdi2) (void) __attribute__ ((weak)); diff --git a/include/grub/sparc64/libgcc.h b/include/grub/sparc64/libgcc.h index 4a6b6194d..5d18c5c81 100644 --- a/include/grub/sparc64/libgcc.h +++ b/include/grub/sparc64/libgcc.h @@ -20,12 +20,8 @@ void EXPORT_FUNC (memset) (void); -#ifdef HAVE___BSWAPSI2 typedef int SItype __attribute__ ((mode (SI))); -SItype EXPORT_FUNC (__bswapsi2) (SItype); -#endif +SItype EXPORT_FUNC (__bswapsi2) (SItype) __attribute__ ((weak)); -#ifdef HAVE___BSWAPDI2 typedef int DItype __attribute__ ((mode (DI))); -DItype EXPORT_FUNC (__bswapdi2) (DItype); -#endif +DItype EXPORT_FUNC (__bswapdi2) (DItype) __attribute__ ((weak));