From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1ZS8DV-00017u-6V for mharc-grub-devel@gnu.org; Wed, 19 Aug 2015 14:36:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54789) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZS8DL-0000zx-RQ for grub-devel@gnu.org; Wed, 19 Aug 2015 14:36:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZS8DG-0002n3-1I for grub-devel@gnu.org; Wed, 19 Aug 2015 14:35:55 -0400 Received: from world.peace.net ([50.252.239.5]:60554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZS8DF-0002mx-Ag for grub-devel@gnu.org; Wed, 19 Aug 2015 14:35:49 -0400 Received: from [10.1.10.32] (helo=yeeloong.hsd1.ma.comcast.net) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1ZS8D6-0004rZ-So; Wed, 19 Aug 2015 14:35:40 -0400 From: Mark H Weaver To: grub-devel@gnu.org Subject: [PATCH] Ensure that MIPS target code is compiled for the O32 ABI. Date: Wed, 19 Aug 2015 14:35:23 -0400 Message-Id: <1440009323-8667-1-git-send-email-mhw@netris.org> X-Mailer: git-send-email 2.4.3 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 50.252.239.5 Cc: Mark H Weaver X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 18:36:02 -0000 Include -mabi=32 in CFLAGS_PLATFORM and CCASFLAGS_PLATFORM to compile code for the O32 ABI when targetting MIPS, since the MIPS assembly code in GRUB assumes this. This flag is also needed when compiling asm-tests/mips.S from configure, because GNU as rejects MIPS register names such as $t2 unless the O32 ABI is selected. --- conf/Makefile.common | 4 ++++ configure.ac | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/conf/Makefile.common b/conf/Makefile.common index fcb8d2e..bd125da 100644 --- a/conf/Makefile.common +++ b/conf/Makefile.common @@ -20,6 +20,10 @@ endif if COND_powerpc_ieee1275 CFLAGS_PLATFORM += -mcpu=powerpc endif +if COND_mips + CFLAGS_PLATFORM += -mabi=32 + CCASFLAGS_PLATFORM = -mabi=32 +endif #FIXME: discover and check XEN headers CPPFLAGS_XEN = -I/usr/include diff --git a/configure.ac b/configure.ac index c864311..1f5e8a2 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,8 @@ # Process this file with autoconf to produce a configure script. -# Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc. +# Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010,2011, +# 2012,2013,2014,2015 Free Software Foundation, Inc. # # This configure.ac is free software; the author # gives unlimited permission to copy and/or distribute it, @@ -599,9 +600,11 @@ fi AC_CACHE_CHECK([for options to compile assembly], [grub_cv_cc_target_asm_compile], [ test_program= +test_ccasflags= case "x$target_cpu-$platform" in xmips-* | xmipsel-*) test_program=mips + test_ccasflags=-mabi=32 ;; xi386-pc) test_program=i386-pc @@ -618,7 +621,7 @@ if test x"$test_program" = x ; then else found=no for arg in "" "-no-integrated-as"; do - cmdline="$TARGET_CC -c -o /dev/null $TARGET_CCASFLAGS $arg $TARGET_CPPFLAGS $srcdir/asm-tests/$test_program.S" + cmdline="$TARGET_CC -c -o /dev/null $TARGET_CCASFLAGS $test_ccasflags $arg $TARGET_CPPFLAGS $srcdir/asm-tests/$test_program.S" echo "Running $cmdline" >&AS_MESSAGE_LOG_FD if $cmdline >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then grub_cv_cc_target_asm_compile="$arg" -- 2.4.3