Commit 755ac5d4 by Richard Henderson Committed by Richard Henderson

flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.

        * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
        * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
        * config/i386/i386.c (tls_model_chars): Add leading space.
        (tls_symbolic_operand): Don't bias by 1.
        (legitimize_address): Don't unbias by 1.

From-SVN: r53861
parent c429f12e
2002-05-24 Richard Henderson <rth@redhat.com>
* flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
* toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
* config/i386/i386.c (tls_model_chars): Add leading space.
(tls_symbolic_operand): Don't bias by 1.
(legitimize_address): Don't unbias by 1.
2002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> 2002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
* lcm.c (optimize_mode_switching): Change bb used as indices * lcm.c (optimize_mode_switching): Change bb used as indices
......
...@@ -546,7 +546,7 @@ rtx ix86_compare_op1 = NULL_RTX; ...@@ -546,7 +546,7 @@ rtx ix86_compare_op1 = NULL_RTX;
/* The encoding characters for the four TLS models present in ELF. */ /* The encoding characters for the four TLS models present in ELF. */
static char const tls_model_chars[] = "GLil"; static char const tls_model_chars[] = " GLil";
#define MAX_386_STACK_LOCALS 3 #define MAX_386_STACK_LOCALS 3
/* Size of the register save area. */ /* Size of the register save area. */
...@@ -3007,7 +3007,7 @@ tls_symbolic_operand (op, mode) ...@@ -3007,7 +3007,7 @@ tls_symbolic_operand (op, mode)
if (symbol_str[0] != '%') if (symbol_str[0] != '%')
return 0; return 0;
return strchr (tls_model_chars, symbol_str[1]) - tls_model_chars + 1; return strchr (tls_model_chars, symbol_str[1]) - tls_model_chars;
} }
static int static int
...@@ -5490,13 +5490,12 @@ legitimize_address (x, oldx, mode) ...@@ -5490,13 +5490,12 @@ legitimize_address (x, oldx, mode)
debug_rtx (x); debug_rtx (x);
} }
/* Note that tls_symbolic_operand return is biased by 1 to return true. */
log = tls_symbolic_operand (x, mode); log = tls_symbolic_operand (x, mode);
if (log) if (log)
{ {
rtx dest, base, off, pic; rtx dest, base, off, pic;
switch (log - 1) switch (log)
{ {
case TLS_MODEL_GLOBAL_DYNAMIC: case TLS_MODEL_GLOBAL_DYNAMIC:
dest = gen_reg_rtx (Pmode); dest = gen_reg_rtx (Pmode);
......
...@@ -466,7 +466,7 @@ extern int flag_pic; ...@@ -466,7 +466,7 @@ extern int flag_pic;
/* Set to the default thread-local storage (tls) model to use. */ /* Set to the default thread-local storage (tls) model to use. */
enum tls_model { enum tls_model {
TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_GLOBAL_DYNAMIC = 1,
TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_LOCAL_DYNAMIC,
TLS_MODEL_INITIAL_EXEC, TLS_MODEL_INITIAL_EXEC,
TLS_MODEL_LOCAL_EXEC TLS_MODEL_LOCAL_EXEC
......
...@@ -692,7 +692,7 @@ int flag_pic; ...@@ -692,7 +692,7 @@ int flag_pic;
/* Set to the default thread-local storage (tls) model to use. */ /* Set to the default thread-local storage (tls) model to use. */
enum tls_model flag_tls_default; enum tls_model flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC;
/* Nonzero means generate extra code for exception handling and enable /* Nonzero means generate extra code for exception handling and enable
exception handling. */ exception handling. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment