From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1IteFj-0008Na-Ve for mharc-grub-devel@gnu.org; Sun, 18 Nov 2007 02:07:36 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IteFi-0008MV-4M for grub-devel@gnu.org; Sun, 18 Nov 2007 02:07:34 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IteFf-0008LB-6M for grub-devel@gnu.org; Sun, 18 Nov 2007 02:07:33 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IteFf-0008L3-2O for grub-devel@gnu.org; Sun, 18 Nov 2007 02:07:31 -0500 Received: from aybabtu.com ([69.60.117.155]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IteFe-0001lz-Ig for grub-devel@gnu.org; Sun, 18 Nov 2007 02:07:30 -0500 Received: from [192.168.10.6] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1IteFc-0005Gy-9j for grub-devel@gnu.org; Sun, 18 Nov 2007 08:07:28 +0100 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1IteFK-0000yA-CQ for grub-devel@gnu.org; Sun, 18 Nov 2007 08:07:10 +0100 Date: Sun, 18 Nov 2007 08:07:07 +0100 From: Robert Millan To: The development of GRUB 2 Message-ID: <20071118070706.GA3531@thorin> References: <473E2086.9040502@t-online.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <473E2086.9040502@t-online.de> Organization: free as in freedom X-Message-Flag: Microsoft discourages use of Outlook. X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: Building GRUB on platforms without ELF support X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Nov 2007 07:07:34 -0000 On Fri, Nov 16, 2007 at 11:58:14PM +0100, Christian Franke wrote: > Building GRUB modules requires ELF support in gas and ld. For platforms > where ELF is not the native format, ld may support ELF output. If not > (like on Cywin) some conversion to ELF is necessary. > > In general, GNU objcopy allows conversion between object file formats. > Unfortunately, objcopy (and BFD itself) does not include any support for > the conversion of relocation formats (even conversion between ELF > variants do not work). In particular, when converting PE (a COFF > variant) to ELF, objcopy does not abort but silently produces bad > PC-relative relocation offsets. In my first Cygwin patch, there is a > hack to fix this in the GRUB ELF loader. > > For specific conversions, fixing this in objcopy itself is easy. But > there is not much chance that such pragmatic patches will be accepted > upstream. > (http://sourceware.org/ml/binutils/2007-10/threads.html#00302) > > I have prepared a reduced (~680 LoC) version of objcopy with the PE->ELF > fix added. To support build on non-ELF platforms, I would suggest to add > this to the GRUB codebase. It can be later extended for other platforms > if desired. I'm not sure what the GRUB maintainers will think, but I'm not very inclined to duplicate stuff that binutils already have. How about building binutils with --enable-targets=i386-elf ? Maybe the Cygwin maintainers would even add it as default. We could also have a configure check that aborts build when -m elf_i386 is not supported (which may also be a problem on pure-x86_64 environment!) and prompt user to rebuild binutils. -- Robert Millan I know my rights; I want my phone call! What use is a phone call, if you are unable to speak? (as seen on /.)