diff options
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index 118e979..8566786 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -692,6 +692,61 @@ TARGET_CXX_ADJUST_CLASS_AT_DEFINITION \ } +/* EMUTLS specific */ +#ifndef TARGET_EMUTLS_GET_ADDRESS +#define TARGET_EMUTLS_GET_ADDRESS "__builtin___emutls_get_address" +#endif + +#ifndef TARGET_EMUTLS_REGISTER_COMMON +#define TARGET_EMUTLS_REGISTER_COMMON "__builtin___emutls_register_common" +#endif + +#ifndef TARGET_EMUTLS_VAR_SECTION +#define TARGET_EMUTLS_VAR_SECTION NULL +#endif + +#ifndef TARGET_EMUTLS_TMPL_SECTION +#define TARGET_EMUTLS_TMPL_SECTION NULL +#endif + +#ifndef TARGET_EMUTLS_VAR_PREFIX +#define TARGET_EMUTLS_VAR_PREFIX NULL +#endif + +#ifndef TARGET_EMUTLS_TMPL_PREFIX +#define TARGET_EMUTLS_TMPL_PREFIX NULL +#endif + +#ifndef TARGET_EMUTLS_VAR_FIELDS +#define TARGET_EMUTLS_VAR_FIELDS default_emutls_var_fields +#endif + +#ifndef TARGET_EMUTLS_VAR_INIT +#define TARGET_EMUTLS_VAR_INIT default_emutls_var_init +#endif + +#ifndef TARGET_EMUTLS_VAR_ALIGN_FIXED +#define TARGET_EMUTLS_VAR_ALIGN_FIXED false +#endif + +#ifndef TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS +#define TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS false +#endif + +#define TARGET_EMUTLS \ + { \ + TARGET_EMUTLS_GET_ADDRESS, \ + TARGET_EMUTLS_REGISTER_COMMON, \ + TARGET_EMUTLS_VAR_SECTION, \ + TARGET_EMUTLS_TMPL_SECTION, \ + TARGET_EMUTLS_VAR_PREFIX, \ + TARGET_EMUTLS_TMPL_PREFIX, \ + TARGET_EMUTLS_VAR_FIELDS, \ + TARGET_EMUTLS_VAR_INIT, \ + TARGET_EMUTLS_VAR_ALIGN_FIXED, \ + TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS \ + } + /* The whole shebang. */ #define TARGET_INITIALIZER \ { \ @@ -783,6 +838,7 @@ TARGET_INSTANTIATE_DECLS, \ TARGET_C, \ TARGET_CXX, \ + TARGET_EMUTLS, \ TARGET_EXTRA_LIVE_ON_ENTRY, \ TARGET_UNWIND_TABLES_DEFAULT, \ TARGET_HAVE_NAMED_SECTIONS, \ |