diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef3b9c40455d76cac3df848a4ac8dbcf26733e70..b5110a6aa5310f34a4fe44d505892f80f0094ca6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-07-04 Kai Tietz <ktietz@redhat.com> + + * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function. + * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add + prototype. + * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define + as i386_pe_reloc_rw_mask. + 2012-07-04 Richard Guenther <rguenther@suse.de> * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 2eccda9d81f25bf53550f1b4b1797095539db52a..b5f89c46e12518419b558d346d0637aadb23170b 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -225,6 +225,11 @@ do { \ #define SUBTARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info +/* Local and global relocs can be placed always into readonly memory + for PE-COFF targets. */ +#undef TARGET_ASM_RELOC_RW_MASK +#define TARGET_ASM_RELOC_RW_MASK i386_pe_reloc_rw_mask + /* Output a common block. */ #undef ASM_OUTPUT_ALIGNED_DECL_COMMON #define ASM_OUTPUT_ALIGNED_DECL_COMMON \ diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h index 581b25c519985f92bc49d0332175589ff4dfabdc..1d3aecc6a663cc652cd56730535e9172793d2743 100644 --- a/gcc/config/i386/i386-protos.h +++ b/gcc/config/i386/i386-protos.h @@ -264,6 +264,8 @@ extern void i386_pe_adjust_class_at_definition (tree); extern bool i386_pe_type_dllimport_p (tree); extern bool i386_pe_type_dllexport_p (tree); +extern int i386_pe_reloc_rw_mask (void); + extern rtx maybe_get_pool_constant (rtx); extern char internal_label_prefix[16]; diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 10cdee8002235344cd3e94573ad598192f60b211..5b71ccb0e13eabda97c3916b12e9ba1713fb5ea3 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -421,6 +421,14 @@ i386_pe_unique_section (tree decl, int reloc) DECL_SECTION_NAME (decl) = build_string (len, string); } +/* Local and global relocs can be placed always into readonly memory for + memory for PE-COFF targets. */ +int +i386_pe_reloc_rw_mask (void) +{ + return 0; +} + /* Select a set of attributes for section NAME based on the properties of DECL and whether or not RELOC indicates that DECL's initializer might contain runtime relocations.