X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Fconfig%2Fm68k-parse.y;fp=gas%2Fconfig%2Fm68k-parse.y;h=2c58266fb8e6bd8d57515fe5200daaf9a1e450a2;hp=b2b3a2e84cc750b006e3246e1184aea10f2b416f;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/gas/config/m68k-parse.y b/gas/config/m68k-parse.y index b2b3a2e..2c58266 100644 --- a/gas/config/m68k-parse.y +++ b/gas/config/m68k-parse.y @@ -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] == '@') {