diff options
author | Alan Modra <amodra@gmail.com> | 2007-06-05 00:28:04 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-06-05 00:28:04 +0000 |
commit | 353ab8610a05f3a40b32c4fc1e11a44b53d3051d (patch) | |
tree | 5e5cb66c2b9661acff94eb580c93fa840bb65051 /gas/config/tc-spu.h | |
parent | 7354508966632da6f4ca9667b242a8118b8bd531 (diff) | |
download | gdb-353ab8610a05f3a40b32c4fc1e11a44b53d3051d.zip gdb-353ab8610a05f3a40b32c4fc1e11a44b53d3051d.tar.gz gdb-353ab8610a05f3a40b32c4fc1e11a44b53d3051d.tar.bz2 |
* config/tc-spu.c (spu_cons): Use deferred_expression. Handle
number@ppu.
(tc_gen_reloc): Abort if neither addsy or subsy is set.
(md_apply_fix): Don't attempt to resolve SPU_PPU relocs.
* config/tc-spu.h (md_operand): Handle @ppu without sym.
Diffstat (limited to 'gas/config/tc-spu.h')
-rw-r--r-- | gas/config/tc-spu.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gas/config/tc-spu.h b/gas/config/tc-spu.h index 134c179..4c6c2d4 100644 --- a/gas/config/tc-spu.h +++ b/gas/config/tc-spu.h @@ -85,8 +85,18 @@ struct tc_fix_info { /* We don't need to do anything special for undefined symbols. */ #define md_undefined_symbol(s) 0 -/* We have no special operand handling. */ -#define md_operand(e) +extern symbolS *section_symbol (asection *); +#define md_operand(e) \ + do { \ + if (strncasecmp (input_line_pointer, "@ppu", 4) == 0) \ + { \ + e->X_op = O_symbol; \ + if (abs_section_sym == NULL) \ + abs_section_sym = section_symbol (absolute_section); \ + e->X_add_symbol = abs_section_sym; \ + e->X_add_number = 0; \ + } \ + } while (0) /* Fill in rs_align_code fragments. */ extern void spu_handle_align PARAMS ((fragS *)); |