diff options
author | Ian Lance Taylor <ian@airs.com> | 1993-07-15 16:02:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1993-07-15 16:02:21 +0000 |
commit | c978e704a9a21709c255feb5aa49ead641ee158e (patch) | |
tree | a6d3b8fb3970b2e99ac2c35a5a9dcdf782b95aef /gas/read.c | |
parent | f09aae8404ef1d9ed3a677c59c418162060c35a9 (diff) | |
download | gdb-c978e704a9a21709c255feb5aa49ead641ee158e.zip gdb-c978e704a9a21709c255feb5aa49ead641ee158e.tar.gz gdb-c978e704a9a21709c255feb5aa49ead641ee158e.tar.bz2 |
* Preliminary support for m88k-coff.
* configure.in (m88k-*-coff*): New target. Use coffbfd and
m88kcoff.
* config/m88kcoff.mt: New file.
* read.c (lex_type): New macro LEX_AT to set lex type of '@'.
(pseudo_set): Handle difference of symbols in different fragments
by saving the entire expression as the value of the symbol.
* symbols.c (resolve_symbol_value): Resolve difference
expressions.
* config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept
"sdef" as a synonym for "def".
* config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set
TARGET_FORMAT.
(S_IS_LOCAL): Any symbol which includes \001 in the name is local.
* config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring
m88k port up to date, and to add COFF support.
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -68,6 +68,11 @@ char *input_line_pointer; /*->next char of source file to parse. */ die horribly; #endif +#ifndef LEX_AT +/* The m88k unfortunately uses @ as a label beginner. */ +#define LEX_AT 0 +#endif + /* used by is_... macros. our ctype[] */ const char lex_type[256] = { @@ -75,7 +80,7 @@ const char lex_type[256] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ[\]^_ */ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, /* _!"#$%&'()*+,-./ */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /* 0123456789:;<=>? */ - 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* @ABCDEFGHIJKLMNO */ + LEX_AT, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* @ABCDEFGHIJKLMNO */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, /* PQRSTUVWXYZ[\]^_ */ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* `abcdefghijklmno */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, /* pqrstuvwxyz{|}~. */ @@ -1473,11 +1478,7 @@ pseudo_set (symbolP) S_GET_VALUE (exp.X_subtract_symbol); goto abs; } - as_bad ("Invalid expression: separation between symbols `%s'", - S_GET_NAME (exp.X_add_symbol)); - as_bad (" and `%s' may not be constant", - S_GET_NAME (exp.X_subtract_symbol)); - need_pass_2++; + symbolP->sy_value = exp; } else { |