#import "struc-symbol.h"
#import "hash.h"
extern struct hash_control *sy_hash;
extern struct obstack notes;
extern symbolS *symbol_rootP;
extern symbolS *symbol_lastP;
extern symbolS abs_symbol;
extern void symbol_begin(
void);
extern char *fb_label_name(
int32_t n,
int32_t augend);
extern void
local_colon(
int n);
extern symbolS *symbol_new(
char *name,
unsigned char type,
char other,
short desc,
valueT value,
struct frag *frag);
extern symbolS *symbol_create (const char *name,
segT segment,
valueT valu,
fragS *frag);
extern void symbol_assign_index(
struct symbol *symbolP);
extern void colon(
char *sym_name,
int local_colon);
extern void symbol_table_insert(
struct symbol *symbolP);
extern symbolS *symbol_find_or_make(
char *name);
extern symbolS *
symbol_find(
char *name);
extern symbolS *
symbol_table_lookup(
char *name);
extern isymbolS *indirect_symbol_new(
char *name,
struct frag *frag,
uint32_t offset);
extern int S_IS_DEFINED (symbolS *);
extern int S_FORCE_RELOC (symbolS *, int);
extern int S_IS_DEBUG (symbolS *);
extern int S_IS_LOCAL (symbolS *);
extern int S_IS_EXTERN (symbolS *);
extern int S_IS_STABD (symbolS *);
extern const char *S_GET_NAME (symbolS *);
extern segT S_GET_SEGMENT (symbolS *);
extern void S_SET_SEGMENT (symbolS *, segT);
extern void S_SET_EXTERNAL (symbolS *);
extern void S_SET_NAME (symbolS *, const char *);
extern void S_CLEAR_EXTERNAL (symbolS *);
extern void S_SET_WEAK (symbolS *);
extern void S_SET_THREAD_LOCAL (symbolS *);
extern int S_IS_LOCAL (symbolS *s);
extern fragS * symbol_get_frag (symbolS *s);
#define TC_SYMFIELD_TYPE unsigned int
#ifdef TC_SYMFIELD_TYPE
TC_SYMFIELD_TYPE *symbol_get_tc (symbolS *);
void symbol_set_tc (symbolS *, TC_SYMFIELD_TYPE *);
#endif
#ifdef ARM
#define tc_frob_label arm_frob_label
extern void arm_frob_label (symbolS *);
#endif
extern symbolS * symbol_temp_new(
segT nsect,
valueT value,
struct frag *frag);
extern symbolS * symbol_temp_new_now(
void);
extern symbolS * symbol_temp_make(
void);
extern void symbol_set_value_now(
symbolS *sym);