Subject: unstriped PE executables contain data from the import library after the end of the last section - is this correct ?
From: Pavel Tsekov <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Mon, 8 Jul 2002 15:18:36 +0200

Hello,

Some days ago I sent a simialiar message to the binutils list but I
haven't received an answer yet - http://sources.redhat.com/ml/binutils/2002-07/msg00122.html.

I assume this is because I haven't asked smart-enough. Here is a
refined version of the original question, which I hope will qualify
for an answer :)

In short: I noticed that the executables produced with cygwin tools
contain some additional data after the last valid section i.e. having
an executable with the following sections:

  .text
  .data
  .bss
  .idata
  .stab
  .stabstr

there will be some data after the end of the .stabstr section.

Stripping with --strip-debug removes the data from .stab and .stabstr,
but this additional data is still there.

Stripping with --strip-unneeded still leaves some of it the binary.

Stripping with --strip-all removes the last pieces of this data
completly.

Now since my initial post I tried to find what this data is and it
seems that it is the output of the functions make_one() and friends
from ld/pe-dll.c. Now my question is - what is the purpose of having
this data from the import library, appended to the executable itself ?
Is this correct ?

Thanks.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/