X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Sun, 21 Oct 2007 17:15:50 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: [Patch] Convert PE relocatable modules to ELF with objcopy Message-ID: <20071021211550.GB1344@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <471BB6DC DOT 9000306 AT t-online DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <471BB6DC.9000306@t-online.de> User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Sun, Oct 21, 2007 at 10:30:20PM +0200, Christian Franke wrote: > objcopy from binutils-20060817-1 cannot convert pe-i396 to elf32-i386. The > offsets of the pc-relative relocation entries are not converted properly. > (http://sourceware.org/bugzilla/show_bug.cgi?id=970) > > I recently started a Cygwin port of GRUB2 ([Maybe ITP later]-). > (http://lists.gnu.org/archive/html/grub-devel/2007-10/msg00071.html) > > GRUB2 loadable modules use ELF format, therefore, some PE to ELF conversion > is required to build on Cygwin. > > The first working Cygwin patch for GRUB2 includes a workaround to load the > broken ELF modules produced by objcopy. It would be desirable to fix this > in objcopy itself. > > A patch is attached. > > 2007-10-21 Christian Franke > > * objcopy.c (fix_relocation): New function to > fix pc-relative relocation offset, for PE to ELF only. > (copy_section): Call fix_relocation for section data. Please use the binutils mailing list for binutils patches. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/