This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: BUG: Binutils strip corrupts dll files when using cygwin 1.5.18 and latest snapshot (20051103)

Hash: SHA1

According to Corinna Vinschen on 11/4/2005 6:11 AM:
> The problem is that there's one section in the file, .gnu_debuglink,
> which is defined as a debugging section.  strip's job is to remove all
> debug sections.  This is usually a simple job to do since the debug
> sections are typically at the end of the file anyway.  Not so the
> .gnu_debuglink section.  By stripping this out, strip generates an
> invalid PE/COFF file since it leaves an undefined memory hole in the
> address space of the file, which is a no-no with the somewhat overly
> simple Windows runtime loader.

Wow.  Learn something every day.  No wonder ELF is so much more popular in
the open source community.

> It's an unlucky case.  You could argue that strip should know better
> than to remove debug sections from the middle of a PE/COFF file but
> OTOH the Cygwin DLL is a very special case.

So the cygwin DLL is likely to be the only PE/COFF dll that strip ever
encounters with a section marked as debug in the middle of a file?  If it
is ever expected that other DLLs will have the same property, then yes,
strip should be taught to not strip intermediate debug sections; but if it
is just cygwin1.dll, I can live with the rule of thumb of "don't do it if
it hurts".

- --
Life is short - so eat dessert first!

Eric Blake   
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at
Comment: Using GnuPG with Thunderbird -


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]