From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5573 invoked by alias); 8 Sep 2006 09:48:56 -0000 Received: (qmail 5563 invoked by uid 22791); 8 Sep 2006 09:48:54 -0000 X-Spam-Check-By: sourceware.org Received: from gollum.portugalmail.pt (HELO gollum.portugalmail.pt) (195.245.179.77) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 08 Sep 2006 09:48:51 +0000 Received: from [127.0.0.1] (213-205-88-139.net.novis.pt [213.205.88.139]) by gollum.portugalmail.pt (Postfix) with ESMTP id 89B25E12AD; Fri, 8 Sep 2006 10:46:15 +0100 (WEST) Message-ID: <45013CCB.8040903@portugalmail.pt> Date: Fri, 08 Sep 2006 09:48:00 -0000 From: Pedro Alves User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) MIME-Version: 1.0 To: Kai Tietz CC: binutils@sourceware.org Subject: Re: PE+ and new COFF format for x86_64 target for XP64 and Vista binaries References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 0631-0, 31-07-2006), Outbound message X-Antivirus-Status: Clean X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00049.txt.bz2 Hi Kai, I'm no binutils maintainer, but I got a few sugestions. Kai Tietz wrote: > Hallo, > > This is a port of binutils-2.17 for COFF-format x86-64 (AMD64) and the PE+ > for Windows XP64 and Vista EXE/DLL. The target is named x86_64-pc-mingw64. To get this into binutils, you will need to forward port your changes to the current version in CVS. The 2.17 branch should only take important bug fixes. > I enabled windres and dlltool for this target. For the tool objdump the > processing and printing methods for DLL-imports are adjusted (they are now > 8 bytes long :( ) > > I made a copy of the pe_dll(.c&.h) as pep_dll(.c&.h) to minimize > intersections. Looking and diffing at the pep_dll.{c|h} and pep.em files, I notice that the changes related to pe_dll.{c|h} and pe.em, excluding the pe_* to pep_* renamings, could be minimized to just a few places. We should avoid duplicating files this size. I haven't looked at the other parts of the patch, but possibly, the same could apply. >May these files can be merged. > I would say, yes please. Hope this helps, Cheers, Pedro Alves > In the "include/coff/external.h" I introduced the proper PE+ external > aouthdr structure without the data_start member. Because this non-existing > member breaks the > size of the PEPAOUT structure in include/coff/pe.h. > > For the bfd/pexxigen.c template I used the pex64 name alias for > generation. > > I added the following new files: > bfd/coff-x86_64.c > bfd/pe-x86_64.c > bfd/pei-x86_64.c > gas/config/te-pep.h > include/coff/x86_54.h > ld/pep_dll.c > ld/pep_dll.h > ld/emulparams/i386pep.sh > ld/emultempl/pep.em > ld/scripttempl/pep.sc > > > I tested the ld of this target by MSVC object-files and by (a patched) gcc > object-files (using this gas) linking against MS-Runtime-libraries. > > i.A. Kai Tietz >