X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=gas%2Fm68k-parse.c;fp=gas%2Fm68k-parse.c;h=9be8bf55183ecd1ccbbbe70855594486c5e13bb9;hp=be072c20cb287ca0a6497a760b24c836ab073100;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/gas/m68k-parse.c b/gas/m68k-parse.c index be072c2..9be8bf5 100644 --- a/gas/m68k-parse.c +++ b/gas/m68k-parse.c @@ -193,7 +193,7 @@ typedef union YYSTYPE int onereg; int trailing_ampersand; } -/* Line 187 of yacc.c. */ +/* Line 193 of yacc.c. */ #line 198 "m68k-parse.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -257,7 +257,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -817,7 +817,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2753,7 +2753,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) { @@ -2765,6 +2778,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] == '@') {