* pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
authorDanny Smith <dannysmith@users.sourceforge.net>
Tue, 20 Jan 2004 21:08:16 +0000 (21:08 +0000)
committerDanny Smith <dannysmith@users.sourceforge.net>
Tue, 20 Jan 2004 21:08:16 +0000 (21:08 +0000)
* ld.texinfo (--omagic): Note that writable text section
does not conform to published PE-COFF specs.
(--enable-auto-import): Likewise.

ld/ChangeLog
ld/ld.texinfo
ld/pe-dll.c

index 2e921297d152f9b98f1b22724ad58d2b77e5127e..9d4edc90a0579259750197f847390470b50a5d6f 100644 (file)
@@ -1,3 +1,10 @@
+2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
+       * ld.texinfo (--omagic): Note that writable text section
+       does not conform to published PE-COFF specs.
+       (--enable-auto-import): Likewise.
+
 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
 
        * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define.
index f0faa8e93223421e09a56ce71d90360d0dec775b..ed7b3d1f6aab08562dbdce49784406fd8c7b54a9 100644 (file)
@@ -687,7 +687,9 @@ Turn off page alignment of sections, and mark the output as
 Set the text and data sections to be readable and writable.  Also, do
 not page-align the data segment, and disable linking against shared
 libraries.  If the output format supports Unix style magic numbers,
-mark the output as @code{OMAGIC}.
+mark the output as @code{OMAGIC}. Note: Although a writable text section
+is allowed for PE-COFF targets, it does not conform to the format
+specification published by Microsoft.
 
 @kindex --no-omagic
 @cindex OMAGIC
@@ -1950,8 +1952,13 @@ uwin, pw, etc.  For instance, cygwin DLLs typically use
 @item --enable-auto-import
 Do sophisticated linking of @code{_symbol} to @code{__imp__symbol} for 
 DATA imports from DLLs, and create the necessary thunking symbols when 
-building the import libraries with those DATA exports.  This generally 
-will 'just work' -- but sometimes you may see this message:
+building the import libraries with those DATA exports. Note: Use of the
+'auto-import' extension will cause the text section of the image file
+to be made writable. This does not conform to the PE-COFF format
+specification published by Microsoft.
+
+Using 'auto-import' generally will 'just work' -- but sometimes you may
+see this message:
 
 "variable '<var>' can't be auto-imported. Please read the 
 documentation for ld's @code{--enable-auto-import} for details."
index 0542ace57923f9568147ad3b5468bebdc986891f..ce3f443d550c16bc298383b93d212a1442034e49 100644 (file)
@@ -1,5 +1,6 @@
 /* Routines to help build PEI-format DLLs (Win32 etc)
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    Written by DJ Delorie <dj@cygnus.com>
 
    This file is part of GLD, the Gnu Linker.
@@ -2176,6 +2177,7 @@ pe_create_import_fixup (arelent *rel, asection *s, int addend)
 
       /* If we ever use autoimport, we have to cast text section writable.  */
       config.text_read_only = FALSE;
+      output_bfd->flags &= ~WP_TEXT;   
     }
 
   if (addend == 0 || link_info.pei386_runtime_pseudo_reloc)