diff options
author | Richard Henderson <rth@redhat.com> | 2007-03-12 10:00:11 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2007-03-12 10:00:11 -0700 |
commit | 24c78b3ac825438a465e37f31617828f52a0c33b (patch) | |
tree | 3f5c321fba3fdcace11d598532641007f7ea803d | |
parent | 3026f2dfd9cc61191297488551c287f321375205 (diff) | |
download | gcc-24c78b3ac825438a465e37f31617828f52a0c33b.zip gcc-24c78b3ac825438a465e37f31617828f52a0c33b.tar.gz gcc-24c78b3ac825438a465e37f31617828f52a0c33b.tar.bz2 |
darwin.c (machopic_reloc_rw_mask): New.
* 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.
From-SVN: r122846
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/darwin-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/darwin.c | 6 | ||||
-rw-r--r-- | gcc/config/darwin.h | 2 |
4 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de0dd70..94c7bdf 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 b28317b..8981ede 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 5796ace..507b1b4 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 efe1ef0..07cc776 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) \ |