diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-09-12 02:27:58 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-09-12 02:27:58 +0000 |
commit | 0561a208f868f3f94e3760e0d68106c1abbd3dc8 (patch) | |
tree | bb7252a874b0255efae250117551b889c48b332f /gas/config/obj-coff.c | |
parent | 0723899b7ed86dd3f4b08610dc53ac6ade6abac5 (diff) | |
download | gdb-0561a208f868f3f94e3760e0d68106c1abbd3dc8.zip gdb-0561a208f868f3f94e3760e0d68106c1abbd3dc8.tar.gz gdb-0561a208f868f3f94e3760e0d68106c1abbd3dc8.tar.bz2 |
1999-09-11 Donn Terry <donn@interix.com>
* expr.c (expr): Change first parameter to int.
* config/obj-coff.c: Add declarations for static functions.
(coff_frob_symbol): Use SYM_AUXENT.
* config/tc-i386.h (flag_16bit_code): Don't declare.
Diffstat (limited to 'gas/config/obj-coff.c')
-rw-r--r-- | gas/config/obj-coff.c | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index a2a3bbd..f52732d 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -32,8 +32,20 @@ static void obj_coff_bss PARAMS ((int)); const char *s_get_name PARAMS ((symbolS * s)); +static void obj_coff_ln PARAMS ((int)); +static void obj_coff_def PARAMS ((int)); +static void obj_coff_endef PARAMS ((int)); +static void obj_coff_dim PARAMS ((int)); +static void obj_coff_line PARAMS ((int)); +static void obj_coff_size PARAMS ((int)); +static void obj_coff_scl PARAMS ((int)); +static void obj_coff_tag PARAMS ((int)); +static void obj_coff_val PARAMS ((int)); +static void obj_coff_type PARAMS ((int)); + +/* This is used to hold the symbol built by a sequence of pseudo-ops + from .def and .endef. */ static symbolS *def_symbol_in_progress; - /* stack stuff */ typedef struct @@ -334,6 +346,8 @@ c_dot_file_symbol (filename) { symbolS *symbolP; + /* BFD converts filename to a .file symbol with an aux entry. It + also handles chaining. */ symbolP = symbol_new (filename, bfd_abs_section_ptr, 0, &zero_address_frag); S_SET_STORAGE_CLASS (symbolP, C_FILE); @@ -928,8 +942,15 @@ obj_coff_val (ignore) resolved, then copy the segment id from the forward symbol. */ SF_SET_GET_SEGMENT (def_symbol_in_progress); + + /* FIXME: gcc can generate address expressions here in + unusual cases (search for "obscure" in sdbout.c). We + just ignore the offset here, thus generating incorrect + debugging information. We ignore the rest of the line + just below. */ } - /* Otherwise, it is the name of a non debug symbol and its value will be calculated later. */ + /* Otherwise, it is the name of a non debug symbol and its value + will be calculated later. */ *input_line_pointer = name_end; } else @@ -1037,8 +1058,7 @@ coff_frob_symbol (symp, punt) coff_last_function = symp; if (S_GET_NUMBER_AUXILIARY (symp) < 1) S_SET_NUMBER_AUXILIARY (symp, 1); - auxp = - &coffsymbol (symbol_get_bfdsym (symp))->native[1].u.auxent; + auxp = SYM_AUXENT (symp); memset (auxp->x_sym.x_fcnary.x_ary.x_dimen, 0, sizeof (auxp->x_sym.x_fcnary.x_ary.x_dimen)); } @@ -2609,12 +2629,11 @@ obj_coff_val (ignore) symbol. */ SF_SET_GET_SEGMENT (def_symbol_in_progress); - /* FIXME: gcc can generate address expressions - here in unusual cases (search for "obscure" - in sdbout.c). We just ignore the offset - here, thus generating incorrect debugging - information. We ignore the rest of the - line just below. */ + /* FIXME: gcc can generate address expressions here in + unusual cases (search for "obscure" in sdbout.c). We + just ignore the offset here, thus generating incorrect + debugging information. We ignore the rest of the line + just below. */ } /* Otherwise, it is the name of a non debug symbol and its value will be calculated later. */ @@ -4430,6 +4449,9 @@ const pseudo_typeS obj_pseudo_table[] = #ifdef BFD_ASSEMBLER +static void coff_pop_insert PARAMS ((void)); +static int coff_sec_sym_ok_for_reloc PARAMS ((asection *)); + /* Support for a COFF emulation. */ static void |