flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
authorRichard Henderson <rth@redhat.com>
Sat, 25 May 2002 01:56:57 +0000 (18:56 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 25 May 2002 01:56:57 +0000 (18:56 -0700)
        * 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

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/flags.h
gcc/toplev.c

index c6ae2deef48e87358c12f37aa340289c1711a250..89ee9abef2db59e52c1af15fab1000078c69191b 100644 (file)
@@ -1,3 +1,11 @@
+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>
 
        * lcm.c (optimize_mode_switching): Change bb used as indices
index ba52c7c3eac1bf643e0454da39878ee131d1c4b4..cf2def2393bba6b00005e1425b3e3a80d015aa41 100644 (file)
@@ -546,7 +546,7 @@ rtx ix86_compare_op1 = NULL_RTX;
 
 /* 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
 /* Size of the register save area.  */
@@ -3007,7 +3007,7 @@ tls_symbolic_operand (op, mode)
 
   if (symbol_str[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
@@ -5490,13 +5490,12 @@ legitimize_address (x, oldx, mode)
       debug_rtx (x);
     }
 
-  /* Note that tls_symbolic_operand return is biased by 1 to return true.  */
   log = tls_symbolic_operand (x, mode);
   if (log)
     {
       rtx dest, base, off, pic;
 
-      switch (log - 1)
+      switch (log)
         {
         case TLS_MODEL_GLOBAL_DYNAMIC:
          dest = gen_reg_rtx (Pmode);
index 37f54d2cae50c7d5979205f6bb0680f7b34ae884..012b63c8d4511a48f2725166d8de4b11f977100e 100644 (file)
@@ -466,7 +466,7 @@ extern int flag_pic;
 /* Set to the default thread-local storage (tls) model to use.  */
 
 enum tls_model {
-  TLS_MODEL_GLOBAL_DYNAMIC,
+  TLS_MODEL_GLOBAL_DYNAMIC = 1,
   TLS_MODEL_LOCAL_DYNAMIC,
   TLS_MODEL_INITIAL_EXEC,
   TLS_MODEL_LOCAL_EXEC
index 13dc17d367eea7086cb7bffbfce458ac37674dc3..b0c1d4049da9bfbdb335c9c1d7177384b103762a 100644 (file)
@@ -692,7 +692,7 @@ int flag_pic;
 
 /* 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
    exception handling.  */