aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h56
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, \