Add support for Linux TLS
[libfirm] / ir / be / ia32 / ia32_emitter.h
index 0a4ae0f..3f64005 100644 (file)
@@ -1,3 +1,9 @@
+/**
+ * Header file for ia32 emitter, containing some function definitions and types.
+ * @author Christian Wuerdig
+ * $Id$
+ */
+
 #ifndef _IA32_EMITTER_H_
 #define _IA32_EMITTER_H_
 
@@ -19,11 +25,12 @@ typedef struct _ia32_emit_env_t {
 
 const lc_arg_env_t *ia32_get_arg_env(void);
 
-char *ia32_emit_binop(const ir_node *irn, ia32_emit_env_t *env);
-char *ia32_emit_unop(const ir_node *irn, ia32_emit_env_t *env);
-char *ia32_emit_am(const ir_node *irn, ia32_emit_env_t *env);
+const char *ia32_emit_binop(const ir_node *irn, ia32_emit_env_t *env);
+const char *ia32_emit_unop(const ir_node *irn, ia32_emit_env_t *env);
+const char *ia32_emit_am(const ir_node *irn, ia32_emit_env_t *env);
+const char *ia32_emit_adr(const ir_node *irn, ia32_emit_env_t *env);
 
-char *ia32_emit_x87_binop(const ir_node *n, ia32_emit_env_t *env);
+const char *ia32_emit_x87_binop(const ir_node *n, ia32_emit_env_t *env);
 
 int get_ia32_reg_nr(ir_node *irn, int posi, int in_out);
 const char *get_ia32_in_reg_name(ir_node *irn, int pos);
@@ -39,7 +46,8 @@ typedef enum section_t {
        SECTION_DATA   = 1,   /**< data section */
        SECTION_RODATA = 2,   /**< rodata section */
        SECTION_COMMON = 3,   /**< common section */
-       SECTION_MAX    = 4
+       SECTION_TLS    = 4,   /**< thread local storage section */
+       SECTION_MAX    = 5
 } section_t;
 
 /**