From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1XDEsS-0004td-G1 for mharc-grub-devel@gnu.org; Fri, 01 Aug 2014 11:36:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42168) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDEsL-0004gn-C6 for grub-devel@gnu.org; Fri, 01 Aug 2014 11:36:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XDEsG-00075c-He for grub-devel@gnu.org; Fri, 01 Aug 2014 11:36:09 -0400 Received: from mail-la0-x22b.google.com ([2a00:1450:4010:c03::22b]:58442) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XDEsG-00074k-01 for grub-devel@gnu.org; Fri, 01 Aug 2014 11:36:04 -0400 Received: by mail-la0-f43.google.com with SMTP id hr17so3407126lab.30 for ; Fri, 01 Aug 2014 08:36:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=DN36X8fYsxwfc8wrE+tC/qmctqsntCzaS/wDhljzKko=; b=PI1Peufckps1CrNKGft/GJikjGMF7VdHxcSrZfYA6LgFMh7F2H3Y86T5PDQxP8yTHW mUiT9OUa/l3gThwyg0KCqHAaJ7cST+myVGU0uGNcc2KFvOdjxSuFuBipKHkZmb3Bjlql uw7po2v9f9x7JJi0+HXfWtzcJc8IlAg0FMITfSLEda/yAtDGNJ7/l2KgEctkhC2F92Pd GlnK9CnkJVi7XhUcDoiSIuJw+SPklYI7Z/eIGLJolnouyswx64rrb6Cty1D9rfTcgxHk vaqkX4LuRcLsC6rlpPArwqyuMdMd1YGzVskjpU6oaRs2wA9z/YVz8Sba3pTAfDNtNqCY tzog== X-Received: by 10.152.88.109 with SMTP id bf13mr6898607lab.92.1406907362068; Fri, 01 Aug 2014 08:36:02 -0700 (PDT) Received: from opensuse.site (ppp94-29-76-101.pppoe.spdop.ru. [94.29.76.101]) by mx.google.com with ESMTPSA id jo6sm4893191lab.5.2014.08.01.08.36.01 for (version=SSLv3 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 01 Aug 2014 08:36:01 -0700 (PDT) Date: Fri, 1 Aug 2014 19:35:59 +0400 From: Andrey Borzenkov To: The development of GNU GRUB Subject: Re: [RFC PATCH] configure check for ld's --no-relax flag Message-ID: <20140801193559.61fe4363@opensuse.site> In-Reply-To: <1406895356-28090-1-git-send-email-stanislav.kholmanskikh@oracle.com> References: <1406895356-28090-1-git-send-email-stanislav.kholmanskikh@oracle.com> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.22; x86_64-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22b Cc: vasily.isaenko@oracle.com, stanislav.kholmanskikh@oracle.com 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: Fri, 01 Aug 2014 15:36:14 -0000 В Fri, 1 Aug 2014 16:15:56 +0400 Stanislav Kholmanskikh пишет: > Early versions of binutils doesn't support --no-relax flag, so > commit 063f2a04d158ec1b275a925dfbae74b124708cde prevents building > with such versions. > > Signed-off-by: Stanislav Kholmanskikh > --- > conf/Makefile.common | 8 ++++++++ > configure.ac | 10 ++++++++++ > 2 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/conf/Makefile.common b/conf/Makefile.common > index e4c301f..5bda66f 100644 > --- a/conf/Makefile.common > +++ b/conf/Makefile.common > @@ -8,11 +8,19 @@ unexport LC_ALL > # Platform specific options > if COND_sparc64_ieee1275 > CFLAGS_PLATFORM += -mno-app-regs > +if COND_LD_SUPPORTS_NO_RELAX > LDFLAGS_PLATFORM = -Wl,-melf64_sparc -Wl,--no-relax > +else > + LDFLAGS_PLATFORM = -Wl,-melf64_sparc -mno-relax > +endif TBO I think commit should simply be reverted. "Uniformity" is rather poor excuse for breaking existing systems. > endif > if COND_sparc64_emu > CFLAGS_PLATFORM += -mno-app-regs > +if COND_LD_SUPPORTS_NO_RELAX > LDFLAGS_PLATFORM = -Wl,--no-relax > +else > + LDFLAGS_PLATFORM = -mno-relax > +endif > endif > if COND_arm > if !COND_emu > diff --git a/configure.ac b/configure.ac > index 8888c2f..282fded 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -516,6 +516,14 @@ fi > > TARGET_CC_VERSION="$(LC_ALL=C $TARGET_CC --version | head -n1)" > > +AC_CACHE_CHECK([if the target C compiler supports -Wl,--no-relax], [grub_cv_target_cc_wl_no_relax_flag], [ > + LDFLAGS="$TARGET_LDFLAGS -nostdlib -static" > + > + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ > +int main(void) { return 0; } > +]])], [grub_cv_target_cc_wl_no_relax_flag=yes], [grub_cv_target_cc_wl_no_relax_flag=no]) > +]) > + > AC_CACHE_CHECK([which extra warnings work], [grub_cv_target_cc_w_extra_flags], [ > LDFLAGS="$TARGET_LDFLAGS -nostdlib -static" > > @@ -1708,6 +1716,8 @@ AM_CONDITIONAL([COND_ENABLE_BOOT_TIME_STATS], [test x$BOOT_TIME_STATS = x1]) > > AM_CONDITIONAL([COND_HAVE_CXX], [test x$HAVE_CXX = xyes]) > > +AM_CONDITIONAL([COND_LD_SUPPORTS_NO_RELAX], [test x$grub_cv_target_cc_wl_no_relax_flag = xyes]) > + > AM_CONDITIONAL([COND_HAVE_ASM_USCORE], [test x$HAVE_ASM_USCORE = x1]) > AM_CONDITIONAL([COND_STARFIELD], [test "x$starfield_excuse" = x]) > AM_CONDITIONAL([COND_HAVE_EXEC], [test "x$have_exec" = xy])