This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] New --pe-dll-characteristcs switch for PE ld.
- From: Christopher Faylor <cgf-use-the-mailinglist-please at sourceware dot org>
- To: binutils at sourceware dot org, Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- Date: Fri, 6 Mar 2009 00:47:15 -0500
- Subject: Re: [PATCH] New --pe-dll-characteristcs switch for PE ld.
- References: <49AFCC7F.3030304@gmail.com>
On Thu, Mar 05, 2009 at 12:58:39PM +0000, Dave Korn wrote:
>The PE header in executables contains a field called
>"DllCharacteristics", which contains various flags that inform the OS
>dynamic loader about the status of the executable w.r.t. runtime
>factors such as NX/DEP, ASLR, dynamic rebasing, etc. (Despite the
>name, it applies to executables of all kinds, not just DLLs, but that's
>what MS calls it so that's what I call it).
And, as I mentioned in the Cygwin mailing list, "despite the name", I
don't think the option should mention "dll". The name of the option
doesn't have to mirror an internal define.
I wonder if the name "pe-" is even TMI for this option but at least
there is some precedent for that.
>The attached patch adds a new linker option to allow setting the value
>of this field. As the default for this field is zero, and as there is
>no other source for these flags in any of the input BFDs, I haven't
>provided a mechanism to clear any of these flags; that would make a
>suitable follow-on patch for objcopy, but first things first.
I would like to see an objcopy option at some point. I don't agree with
the prevailing cygwin opinion that you need a separate binary to deal
with this. It seems silly to have objcopy able to do only some things
to a PE and, if objcopy can do this, then I don't see why you need an
extra program to manipulate this field.
But, I digress.
Other than the option name (and, if the option name is renamed a few
variables), I think this would be a fine addition to ld.
cgf