Skip to content

Commit

Permalink
Add missing compile and link options for sparc64-emu.
Browse files Browse the repository at this point in the history
  • Loading branch information
phcoder committed Dec 9, 2013
1 parent 7a148da commit eaf01c2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2013-12-09 Vladimir Serbinenko <[email protected]>

Add missing compile and link options for sparc64-emu.

2013-12-09 Vladimir Serbinenko <[email protected]>

Implement sparc64 trampolines (needed for sparc64-emu).
Expand Down
4 changes: 4 additions & 0 deletions conf/Makefile.common
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ if COND_sparc64_ieee1275
CFLAGS_PLATFORM += -mno-app-regs
LDFLAGS_PLATFORM = -Wl,-melf64_sparc -mno-relax
endif
if COND_sparc64_emu
CFLAGS_PLATFORM += -mno-app-regs
LDFLAGS_PLATFORM = -Wl,--no-relax
endif
if COND_arm
CFLAGS_PLATFORM += -mthumb-interwork
CCASFLAGS_PLATFORM = -mthumb-interwork
Expand Down
14 changes: 13 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ if test x$platform != xemu ; then
esac
fi

if test x"$target_cpu-$platform" = xsparc64-emu ; then
target_m64=1 ;
fi

case "$target_os" in
windows* | mingw32*) target_os=cygwin ;;
esac
Expand Down Expand Up @@ -345,6 +349,11 @@ AC_SYS_LARGEFILE
# Identify characteristics of the host architecture.
unset ac_cv_c_bigendian

if test x"$target_cpu-$platform" = xsparc64-emu ; then
CFLAGS="$CFLAGS -m64"
HOST_CFLAGS="$HOST_CFLAGS -m64"
fi

AC_C_BIGENDIAN
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long)
Expand Down Expand Up @@ -820,7 +829,7 @@ AC_SUBST(TARGET_LDFLAGS_OLDMAGIC)

LDFLAGS="$TARGET_LDFLAGS"

if test "$target_cpu" = x86_64; then
if test "$target_cpu" = x86_64 || test "$target_cpu-$platform" = sparc64-emu ; then
# Use large model to support 4G memory
AC_CACHE_CHECK([whether option -mcmodel=large works], grub_cv_cc_mcmodel, [
CFLAGS="$TARGET_CFLAGS -m64 -mcmodel=large"
Expand All @@ -830,6 +839,8 @@ if test "$target_cpu" = x86_64; then
])
if test "x$grub_cv_cc_mcmodel" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=large"
elif test "$target_cpu-$platform" = sparc64-emu; then
TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=medany"
fi
fi

Expand Down Expand Up @@ -1585,6 +1596,7 @@ AM_CONDITIONAL([COND_mips_loongson], [test x$target_cpu = xmipsel -a x$platform
AM_CONDITIONAL([COND_mips_qemu_mips], [test "(" x$target_cpu = xmips -o x$target_cpu = xmipsel ")" -a x$platform = xqemu_mips])
AM_CONDITIONAL([COND_mips_arc], [test "(" x$target_cpu = xmips -o x$target_cpu = xmipsel ")" -a x$platform = xarc])
AM_CONDITIONAL([COND_sparc64_ieee1275], [test x$target_cpu = xsparc64 -a x$platform = xieee1275])
AM_CONDITIONAL([COND_sparc64_emu], [test x$target_cpu = xsparc64 -a x$platform = xemu])
AM_CONDITIONAL([COND_powerpc_ieee1275], [test x$target_cpu = xpowerpc -a x$platform = xieee1275])
AM_CONDITIONAL([COND_mips], [test x$target_cpu = xmips -o x$target_cpu = xmipsel])
AM_CONDITIONAL([COND_mipsel], [test x$target_cpu = xmipsel])
Expand Down

0 comments on commit eaf01c2

Please sign in to comment.