Commit 98b1d9b2 by Kai Tietz Committed by Kai Tietz

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
parent f409d239
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> 2012-03-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-math-opts.c (convert_mult_to_widen): Check actual * tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
......
...@@ -53,4 +53,8 @@ Compile code that relies on Cygwin DLL wrappers to support C++ operator new/dele ...@@ -53,4 +53,8 @@ Compile code that relies on Cygwin DLL wrappers to support C++ operator new/dele
posix posix
Driver 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 ; Retain blank line above
...@@ -395,6 +395,10 @@ i386_pe_unique_section (tree decl, int reloc) ...@@ -395,6 +395,10 @@ i386_pe_unique_section (tree decl, int reloc)
const char *name, *prefix; const char *name, *prefix;
char *string; 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 = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
name = i386_pe_strip_name_encoding_full (name); name = i386_pe_strip_name_encoding_full (name);
...@@ -441,6 +445,10 @@ i386_pe_section_type_flags (tree decl, const char *name, int reloc) ...@@ -441,6 +445,10 @@ i386_pe_section_type_flags (tree decl, const char *name, int reloc)
unsigned int flags; unsigned int flags;
unsigned int **slot; 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 /* The names we put in the hashtable will always be the unique
versions given to us by the stringtable, so we can just use versions given to us by the stringtable, so we can just use
their addresses as the keys. */ their addresses as the keys. */
......
...@@ -14014,6 +14014,13 @@ set. This is necessary for binaries running in kernel mode of ...@@ -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 Microsoft Windows, as there the User32 API, which is used to set executable
privileges, isn't available. 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 @item -mpe-aligned-commons
@opindex mpe-aligned-commons @opindex mpe-aligned-commons
This option is available for Cygwin and MinGW targets. It This option is available for Cygwin and MinGW targets. It
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment