diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2011-11-22 10:19:19 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2011-11-22 10:19:19 +0000 |
commit | 50b0b78a7594143de9d927b2d4edff2065be317d (patch) | |
tree | 85b8f52e7ea0bebc7684ced5669af4e90f0ec345 /gcc/config | |
parent | 0b41ebef72631ec8cf5ffd16537d1274c3fd6800 (diff) | |
download | gcc-50b0b78a7594143de9d927b2d4edff2065be317d.zip gcc-50b0b78a7594143de9d927b2d4edff2065be317d.tar.gz gcc-50b0b78a7594143de9d927b2d4edff2065be317d.tar.bz2 |
target.def (tm_clone_table_section): New hook.
gcc:
* target.def (tm_clone_table_section): New hook.
* doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
* doc/tm.texi: Regenerate.
* varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
* output.h (default_clone_table_section): New prototype.
* config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
* config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
* config/darwin.c (darwin_tm_clone_table_section): New.
gcc/testsuite:
* gcc.dg/tm/20100615.c: Adjust for Darwin tm_clone_table section name.
From-SVN: r181613
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/darwin-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/darwin.c | 8 | ||||
-rw-r--r-- | gcc/config/darwin.h | 4 |
3 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h index 21092af..e022086 100644 --- a/gcc/config/darwin-protos.h +++ b/gcc/config/darwin-protos.h @@ -58,6 +58,7 @@ extern int machopic_reloc_rw_mask (void); extern section *machopic_select_section (tree, int, unsigned HOST_WIDE_INT); extern section *darwin_function_section (tree, enum node_frequency, bool, bool); +extern section *darwin_tm_clone_table_section (void); extern void darwin_function_switched_text_sections (FILE *, tree, bool); extern void darwin_unique_section (tree decl, int reloc); diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 7c33a53..b1038f4 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -1265,6 +1265,14 @@ darwin_mergeable_constant_section (tree exp, return readonly_data_section; } +section * +darwin_tm_clone_table_section (void) +{ + return get_named_section (NULL, + "__DATA,__tm_clone_table,regular,no_dead_strip", + 3); +} + int machopic_reloc_rw_mask (void) { diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 7ae7519..efff4c9 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -697,6 +697,10 @@ 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_TM_CLONE_TABLE_SECTION +#define TARGET_ASM_TM_CLONE_TABLE_SECTION darwin_tm_clone_table_section + #undef TARGET_ASM_RELOC_RW_MASK #define TARGET_ASM_RELOC_RW_MASK machopic_reloc_rw_mask |