From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aMRFU-0004q9-7E for mharc-grub-devel@gnu.org; Thu, 21 Jan 2016 21:14:52 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60251) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMRFS-0004py-FI for grub-devel@gnu.org; Thu, 21 Jan 2016 21:14:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMRFO-0005H3-FI for grub-devel@gnu.org; Thu, 21 Jan 2016 21:14:50 -0500 Received: from b.a.painless.aa.net.uk ([81.187.30.65]:35382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMRFO-0005Gz-9k for grub-devel@gnu.org; Thu, 21 Jan 2016 21:14:46 -0500 Received: from 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.1.b.e.2.f.f.b.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:bff2:eb14::3] helo=riva.pelham.vpn.ucam.org) by a.painless.aa.net.uk with esmtps (TLSv1:AES128-SHA:128) (Exim 4.77) (envelope-from ) id 1aMRFE-0005x8-4c for grub-devel@gnu.org; Fri, 22 Jan 2016 02:14:43 +0000 Received: from ns1.pelham.vpn.ucam.org ([172.20.153.2] helo=riva.ucam.org) by riva.pelham.vpn.ucam.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1aMRFC-0004ZD-Mg for grub-devel@gnu.org; Fri, 22 Jan 2016 02:14:34 +0000 Date: Fri, 22 Jan 2016 02:14:33 +0000 From: Colin Watson To: grub-devel@gnu.org Subject: Re: [PATCH] arm64: build with -mcmodel=large Message-ID: <20160122021433.GA17123@riva.ucam.org> References: <20151224041420.GA26276@riva.ucam.org> <20151224042029.GC26276@riva.ucam.org> <20151225181855.GU25034@bivouac.eciton.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151225181855.GU25034@bivouac.eciton.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Painless-Spam-Score: 2.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 81.187.30.65 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, 22 Jan 2016 02:14:51 -0000 On Fri, Dec 25, 2015 at 06:18:55PM +0000, Leif Lindholm wrote: > So, it seems this toolchain generates the HI21/LO12 relocation combo: > - R_AARCH64_ADR_PREL_PG_HI21/R_AARCH64_ADR_PREL_PG_HI21_NC > - R_AARCH64_LDST16_ABS_LO12_NC > - R_AARCH64_LDST32_ABS_LO12_NC > - R_AARCH64_LDST64_ABS_LO12_NC > - R_AARCH64_LDST128_ABS_LO12_NC > > So I'll implement support for these. I found a temporary workaround for this via https://bugs.launchpad.net/bugs/1533009, which refers to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63304; given that set of clues, I've confirmed that TARGET_CFLAGS='-Os -mpc-relative-literal-loads' fixes my build for the time being. This isn't necessarily a good solution for upstream, because only certain versions of GCC support it (although perhaps we could detect it in configure.ac until such time as appropriate relocation support is added?), but I'm mentioning it here in case any other distributors have the same problem. -- Colin Watson [cjwatson@ubuntu.com]