]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
alpha.c (alpha_encode_section_info): Use 'I' for TLS_MODEL_INITIAL_EXEC.
authorRichard Henderson <rth@redhat.com>
Sun, 11 Jan 2004 23:53:17 +0000 (15:53 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 11 Jan 2004 23:53:17 +0000 (15:53 -0800)
        * config/alpha/alpha.c (alpha_encode_section_info): Use 'I'
        for TLS_MODEL_INITIAL_EXEC.
        (tls_symbolic_operand_1): Update to match.
        (tls_symbolic_operand_type): Likewise.

From-SVN: r75695

gcc/ChangeLog
gcc/config/alpha/alpha.c

index bce807211aaa686421386052335def95ab9df15c..ef6f63e78c15f1c4230f8677b33c52b60a8c8dde 100644 (file)
@@ -1,3 +1,10 @@
+2004-01-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_encode_section_info): Use 'I'
+       for TLS_MODEL_INITIAL_EXEC.
+       (tls_symbolic_operand_1): Update to match.
+       (tls_symbolic_operand_type): Likewise.
+
 2004-01-11  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/13392
index 42b57e18a21a44b812ec17383dce7aa939df0cb7..1f6c938c3f2b815e75c2fd44a43987e08a1931ac 100644 (file)
@@ -1205,9 +1205,12 @@ tls_symbolic_operand_1 (op, mode, size, unspec)
   else
     return 0;
 
-  letter = (unspec == UNSPEC_DTPREL ? 'D' : 'T');
-
-  return str[1] == letter;
+  if (unspec == UNSPEC_DTPREL)
+    return str[1] == 'D';
+  else if (str[1] == 'I')
+    return size == 64;
+  else
+    return str[1] == 'T';
 }
 
 /* Return true if OP is valid for 16-bit DTP relative relocations.  */
@@ -1762,7 +1765,7 @@ tls_symbolic_operand_type (symbol)
         attribute visibility next time.  At least we don't crash...  */
       if (str[1] == 'G' || str[1] == 'D')
        return TLS_MODEL_GLOBAL_DYNAMIC;
-      if (str[1] == 'T')
+      if (str[1] == 'I' || str[1] == 'T')
        return TLS_MODEL_INITIAL_EXEC;
     }
   else if (str[0] == '@')
@@ -1776,6 +1779,8 @@ tls_symbolic_operand_type (symbol)
          else
            return TLS_MODEL_GLOBAL_DYNAMIC;
        }
+      if (str[1] == 'I')
+       return TLS_MODEL_INITIAL_EXEC;
       if (str[1] == 'T')
        {
          /* 64-bit local exec is the same as initial exec except without
@@ -1901,6 +1906,8 @@ alpha_encode_section_info (decl, first)
          encoding = 'D';
          break;
        case TLS_MODEL_INITIAL_EXEC:
+         encoding = 'I';
+         break;
        case TLS_MODEL_LOCAL_EXEC:
          encoding = 'T';
          break;