summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-12 17:00:11 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-12 17:00:11 +0000
commit0b769e4a19bac098c1e2e648cec4e8d563bc3325 (patch)
tree3f5c321fba3fdcace11d598532641007f7ea803d /gcc
parentc76a22fb619cc0a424ab5caa27104c163f069e37 (diff)
downloadppe42-gcc-0b769e4a19bac098c1e2e648cec4e8d563bc3325.tar.gz
ppe42-gcc-0b769e4a19bac098c1e2e648cec4e8d563bc3325.zip
* config/darwin.c (machopic_reloc_rw_mask): New.
* config/darwin-protos.h (machopic_reloc_rw_mask): Declare. * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122846 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/darwin-protos.h1
-rw-r--r--gcc/config/darwin.c6
-rw-r--r--gcc/config/darwin.h2
4 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index de0dd70eb14..94c7bdf892c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-12 Richard Henderson <rth@redhat.com>
+
+ * config/darwin.c (machopic_reloc_rw_mask): New.
+ * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
+ * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
+
2007-03-12 Mark Mitchell <mark@codesourcery.com>
* cppdefault.c (cpp_EXEC_PREFIX): New variable.
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h
index b28317b8b77..8981eded88b 100644
--- a/gcc/config/darwin-protos.h
+++ b/gcc/config/darwin-protos.h
@@ -52,6 +52,7 @@ extern void darwin_set_default_type_attributes (tree);
extern void machopic_finish (FILE *);
+extern int machopic_reloc_rw_mask (void);
extern section *machopic_select_section (tree, int, unsigned HOST_WIDE_INT);
extern section *machopic_select_rtx_section (enum machine_mode, rtx,
unsigned HOST_WIDE_INT);
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 5796ace485d..507b1b47a3f 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1172,6 +1172,12 @@ darwin_mergeable_constant_section (tree exp,
return readonly_data_section;
}
+int
+machopic_reloc_rw_mask (void)
+{
+ return MACHOPIC_INDIRECT ? 3 : 0;
+}
+
section *
machopic_select_section (tree decl,
int reloc,
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index efe1ef0e521..07cc7767a65 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -701,6 +701,8 @@ extern GTY(()) section * darwin_sections[NUM_DARWIN_SECTIONS];
#define TARGET_ASM_UNIQUE_SECTION darwin_unique_section
#undef TARGET_ASM_FUNCTION_RODATA_SECTION
#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
+#undef TARGET_ASM_RELOC_RW_MASK
+#define TARGET_ASM_RELOC_RW_MASK machopic_reloc_rw_mask
#define ASM_DECLARE_UNRESOLVED_REFERENCE(FILE,NAME) \
OpenPOWER on IntegriCloud