diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 8f41439..2d247a1 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2020-01-22 Alan Modra <amodra@gmail.com> + + * config/tc-ppc.c (parse_tls_arg): Handle tls arg for + __tls_get_addr_desc and __tls_get_addr_opt. + 2020-01-21 Jan Beulich <jbeulich@suse.com> * testsuite/gas/i386/inval-crc32.s, diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 896b6b3..0b24298 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -3255,7 +3255,10 @@ parse_tls_arg (char **str, const expressionS *exp, struct ppc_fixup *tls_fix) ++sym_name; tls_fix->reloc = BFD_RELOC_NONE; - if (strcasecmp (sym_name, "__tls_get_addr") == 0) + if (strncasecmp (sym_name, "__tls_get_addr", 14) == 0 + && (sym_name[14] == 0 + || strcasecmp (sym_name + 14, "_desc") == 0 + || strcasecmp (sym_name + 14, "_opt") == 0)) { char *hold = input_line_pointer; input_line_pointer = *str + 1; |