Date: Mon, 10 Feb 2003 07:59:54 +0100 From: Laszlo Molnar To: djgpp-workers AT delorie DOT com Subject: Re: BNU 2.13.2.1 query Message-ID: <20030210075954.R2672@libra.eth.ericsson.se> References: <3E43D181 DOT 3C981D27 AT phekda DOT freeserve DOT co DOT uk> <10302071845 DOT AA14846 AT clio DOT rice DOT edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <10302071845.AA14846@clio.rice.edu>; from sandmann@clio.rice.edu on Fri, Feb 07, 2003 at 12:45:23PM -0600 Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Fri, Feb 07, 2003 at 12:45:23PM -0600, Charles Sandmann wrote: > > UPX 1.9, which is a testing release, purportedly fixes the problems > > with later versions of binutils. So it seems likely that problem with binutils > > & UPX will go away soon. > But I'm still unhappy that something was changed in our COFF file formats > without us needing to change it or know why it's been changed. OK, here is the official :-) description of the problem. Older UPX versions contain some code which tries to remove an unneeded chunk of zero bytes from the COFF image which is produced by some versions of binutils. IIRC this can be seen in action by producing an executable with stabs debugging info, stripping it, then compressing & decompressing it. The uncompressed size should be smaller than the size before compression. This worked fine until the latest binutils version. Unfortunately my hack is incompatible with this new version, because the original COFF header disappears from the compressed executable. Which would be neccessary during uncompression... So I removed this "feature". Now the zero bytes are added back after uncompression. UPX 1.91 should be fine. Laszlo