invoke.texi (fwritable-relocated-rdata): Document new Cygwin/MinGW target option.

* doc/invoke.texi (fwritable-relocated-rdata): Document
        new Cygwin/MinGW target option.
        * config/i386/winnt.c (i386_pe_unique_section): Ignore
        reloc if flag -fwritable-relocated-rdata is not set.
        (i386_pe_section_type_flags): Likewise.
        * config/i386/cygming.opt (fwritable-relocated-rdata):
        Add new flag variable flag_writable_rel_rdata.

From-SVN: r185027
This commit is contained in:
Kai Tietz 2012-03-07 10:35:15 +01:00 committed by Kai Tietz
parent f409d239ae
commit 98b1d9b2fa
4 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2012-03-07 Kai Tietz <ktietz@redhat.com>
* doc/invoke.texi (fwritable-relocated-rdata): Document
new Cygwin/MinGW target option.
* config/i386/winnt.c (i386_pe_unique_section): Ignore
reloc if flag -fwritable-relocated-rdata is not set.
(i386_pe_section_type_flags): Likewise.
* config/i386/cygming.opt (fwritable-relocated-rdata):
Add new flag variable flag_writable_rel_rdata.
2012-03-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-math-opts.c (convert_mult_to_widen): Check actual

View File

@ -53,4 +53,8 @@ Compile code that relies on Cygwin DLL wrappers to support C++ operator new/dele
posix
Driver
fwritable-relocated-rdata
Common Report Var(flag_writable_rel_rdata) Init(0)
Put relocated read-only data into .data section.
; Retain blank line above

View File

@ -395,6 +395,10 @@ i386_pe_unique_section (tree decl, int reloc)
const char *name, *prefix;
char *string;
/* Ignore RELOC, if we are allowed to put relocated
const data into read-only section. */
if (!flag_writable_rel_rdata)
reloc = 0;
name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
name = i386_pe_strip_name_encoding_full (name);
@ -441,6 +445,10 @@ i386_pe_section_type_flags (tree decl, const char *name, int reloc)
unsigned int flags;
unsigned int **slot;
/* Ignore RELOC, if we are allowed to put relocated
const data into read-only section. */
if (!flag_writable_rel_rdata)
reloc = 0;
/* The names we put in the hashtable will always be the unique
versions given to us by the stringtable, so we can just use
their addresses as the keys. */

View File

@ -14014,6 +14014,13 @@ set. This is necessary for binaries running in kernel mode of
Microsoft Windows, as there the User32 API, which is used to set executable
privileges, isn't available.
@item -fwritable-relocated-rdata
@opindex fno-writable-relocated-rdata
This option is available for MinGW and Cygwin targets. It specifies
that relocated-data in read-only section is put into .data
section. This is a necessary for older runtimes not supporting
modification of .rdata sections for pseudo-relocation.
@item -mpe-aligned-commons
@opindex mpe-aligned-commons
This option is available for Cygwin and MinGW targets. It