]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/config/m68k-parse.y
Merge commit 'upstream/2.20'
[msp430-binutils.git] / gas / config / m68k-parse.y
index b2b3a2e84cc750b006e3246e1184aea10f2b416f..2c58266fb8e6bd8d57515fe5200daaf9a1e450a2 100644 (file)
@@ -1,5 +1,5 @@
 /* m68k.y -- bison grammar for m68k operand parsing
-   Copyright 1995, 1996, 1997, 1998, 2001, 2003, 2004, 2005, 2007
+   Copyright 1995, 1996, 1997, 1998, 2001, 2003, 2004, 2005, 2007, 2009
    Free Software Foundation, Inc.
    Written by Ken Raeburn and Ian Lance Taylor, Cygnus Support
 
@@ -1010,7 +1010,20 @@ yylex ()
 
     yylval.exp.pic_reloc = pic_none;
     cp = s - tail;
-    if (cp - 6 > str && cp[-6] == '@')
+    if (cp - 7 > str && cp[-7] == '@')
+      {
+       if (strncmp (cp - 7, "@TLSLDM", 7) == 0)
+         {
+           yylval.exp.pic_reloc = pic_tls_ldm;
+           tail += 7;
+         }
+       else if (strncmp (cp - 7, "@TLSLDO", 7) == 0)
+         {
+           yylval.exp.pic_reloc = pic_tls_ldo;
+           tail += 7;
+         }
+      }
+    else if (cp - 6 > str && cp[-6] == '@')
       {
        if (strncmp (cp - 6, "@PLTPC", 6) == 0)
          {
@@ -1022,6 +1035,21 @@ yylex ()
            yylval.exp.pic_reloc = pic_got_pcrel;
            tail += 6;
          }
+       else if (strncmp (cp - 6, "@TLSGD", 6) == 0)
+         {
+           yylval.exp.pic_reloc = pic_tls_gd;
+           tail += 6;
+         }
+       else if (strncmp (cp - 6, "@TLSIE", 6) == 0)
+         {
+           yylval.exp.pic_reloc = pic_tls_ie;
+           tail += 6;
+         }     
+       else if (strncmp (cp - 6, "@TLSLE", 6) == 0)
+         {
+           yylval.exp.pic_reloc = pic_tls_le;
+           tail += 6;
+         }     
       }
     else if (cp - 4 > str && cp[-4] == '@')
       {