2009-06-10 Pavel Roskin <proski@gnu.org>
+ * 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.
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
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
-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));
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));