From 463d5aa029d128de82fac1bfd85bd10376673808 Mon Sep 17 00:00:00 2001 From: Kai Tietz <ktietz@redhat.com> Date: Wed, 4 Jul 2012 13:22:02 +0200 Subject: [PATCH] winnt.c (i386_pe_reloc_rw_mask): New function. * 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. From-SVN: r189254 --- gcc/ChangeLog | 8 ++++++++ gcc/config/i386/cygming.h | 5 +++++ gcc/config/i386/i386-protos.h | 2 ++ gcc/config/i386/winnt.c | 8 ++++++++ 4 files changed, 23 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef3b9c40455d..b5110a6aa531 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 2eccda9d81f2..b5f89c46e125 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 581b25c51998..1d3aecc6a663 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 10cdee800223..5b71ccb0e13e 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. -- GitLab