+2005-04-19 Jan Beulich <jbeulich@novell.com>
+
+ * symbols.h (symbol_find_base): Remove prototype.
+ * symbols.c (save_symbol_name): Remove code section conditional upon
+ STRIP_UNDERSCORE.
+ (symbol_find): Remove.
+ (symbol_find_base): Rename to symbol_find.
+ * subsegs.c (section_symbol): Replace use of symbol_find_base with
+ symbol_find.
+ * config/obj-coff.c (tag_insert): Remove code section conditional
+ upon STRIP_UNDERSCORE.
+ (obj_coff_def): Likewise.
+ (obj_coff_endef): Replace use of symbol_find_base with symbol_find.
+ (coff_frob_symbol): Likewise.
+ (yank_symbols): Likewise.
+ (c_section_symbol): Likewise.
+ * config/obj-coff.h (DO_NOT_STRIP): Remove.
+ * config/tc-arm.c (symbol_locate): Remove code section conditional
+ upon STRIP_UNDERSCORE.
+ * config/tc-h8300.h (DO_NOT_STRIP): Remove.
+ * config/tc-h8500.h (DO_NOT_STRIP): Remove.
+ * config/tc-sh.h (DO_NOT_STRIP): Remove.
+ * config/tc-w65.h (DO_NOT_STRIP): Remove.
+ * config/tc-z8k.h (DO_NOT_STRIP): Remove.
+
2005-04-19 Andreas Schwab <schwab@suse.de>
* config/tc-ia64.c (md_assemble): Fix error message for wrong
static symbolS *
tag_find (char *name)
{
-#ifdef STRIP_UNDERSCORE
- if (*name == '_')
- name++;
-#endif /* STRIP_UNDERSCORE */
return (symbolS *) hash_find (tag_hash, name);
}
SKIP_WHITESPACES ();
symbol_name = input_line_pointer;
-#ifdef STRIP_UNDERSCORE
- if (symbol_name[0] == '_' && symbol_name[1] != 0)
- symbol_name++;
-#endif
-
name_end = get_symbol_end ();
symbol_name_length = strlen (symbol_name);
symbol_name_copy = xmalloc (symbol_name_length + 1);
&& !SF_GET_TAG (def_symbol_in_progress))
|| S_GET_SEGMENT (def_symbol_in_progress) == absolute_section
|| ! symbol_constant_p (def_symbol_in_progress)
- || (symbolP = symbol_find_base (S_GET_NAME (def_symbol_in_progress),
- DO_NOT_STRIP)) == NULL
+ || (symbolP = symbol_find (S_GET_NAME (def_symbol_in_progress))) == NULL
|| SF_GET_TAG (def_symbol_in_progress) != SF_GET_TAG (symbolP))
{
/* If it already is at the end of the symbol list, do nothing */
{
symbolS *oldtag;
- oldtag = symbol_find_base (S_GET_NAME (def_symbol_in_progress),
- DO_NOT_STRIP);
+ oldtag = symbol_find (S_GET_NAME (def_symbol_in_progress));
if (oldtag == NULL || ! SF_GET_TAG (oldtag))
tag_insert (S_GET_NAME (def_symbol_in_progress),
def_symbol_in_progress);
&& !SF_GET_STATICS (symp)
&& S_GET_STORAGE_CLASS (symp) != C_LABEL
&& symbol_constant_p (symp)
- && (real = symbol_find_base (S_GET_NAME (symp), DO_NOT_STRIP))
+ && (real = symbol_find (S_GET_NAME (symp)))
&& S_GET_STORAGE_CLASS (real) == C_NULL
&& real != symp)
{
#endif
/* Initialize the new symbol. */
-#ifdef STRIP_UNDERSCORE
- S_SET_NAME (def_symbol_in_progress, (*symbol_name_copy == '_'
- ? symbol_name_copy + 1
- : symbol_name_copy));
-#else /* STRIP_UNDERSCORE */
S_SET_NAME (def_symbol_in_progress, symbol_name_copy);
-#endif /* STRIP_UNDERSCORE */
/* free(symbol_name_copy); */
def_symbol_in_progress->sy_name_offset = (unsigned long) ~0;
def_symbol_in_progress->sy_number = ~0;
&& !SF_GET_TAG (def_symbol_in_progress))
|| S_GET_SEGMENT (def_symbol_in_progress) == absolute_section
|| def_symbol_in_progress->sy_value.X_op != O_constant
- || (symbolP = symbol_find_base (S_GET_NAME (def_symbol_in_progress), DO_NOT_STRIP)) == NULL
+ || (symbolP = symbol_find (S_GET_NAME (def_symbol_in_progress))) == NULL
|| (SF_GET_TAG (def_symbol_in_progress) != SF_GET_TAG (symbolP)))
{
symbol_append (def_symbol_in_progress, symbol_lastP, &symbol_rootP,
{
symbolS *oldtag;
- oldtag = symbol_find_base (S_GET_NAME (def_symbol_in_progress),
- DO_NOT_STRIP);
+ oldtag = symbol_find (S_GET_NAME (def_symbol_in_progress));
if (oldtag == NULL || ! SF_GET_TAG (oldtag))
tag_insert (S_GET_NAME (def_symbol_in_progress),
def_symbol_in_progress);
&& !SF_GET_STATICS (symbolP)
&& S_GET_STORAGE_CLASS (symbolP) != C_LABEL
&& symbolP->sy_value.X_op == O_constant
- && (real_symbolP = symbol_find_base (S_GET_NAME (symbolP), DO_NOT_STRIP))
+ && (real_symbolP = symbol_find (S_GET_NAME (symbolP)))
&& real_symbolP != symbolP)
{
/* FIXME-SOON: where do dups come from?
{
symbolS *symbolP;
- symbolP = symbol_find_base (name, DO_NOT_STRIP);
+ symbolP = symbol_find (name);
if (symbolP == NULL)
symbolP = symbol_new (name, idx, 0, &zero_address_frag);
else
#define SYM_AUXINFO(S) \
(&coffsymbol (symbol_get_bfdsym (S))->native[1])
-#define DO_NOT_STRIP 0
-
/* The number of auxiliary entries. */
#define S_GET_NUMBER_AUXILIARY(s) \
(coffsymbol (symbol_get_bfdsym (s))->native->u.syment.n_numaux)
unsigned int ost_flags;
} obj_symbol_type;
-#ifndef DO_NOT_STRIP
-#define DO_NOT_STRIP 0
-#endif
/* Symbol table macros and constants. */
/* Possible and useful section number in symbol table
name_length = strlen (name) + 1; /* +1 for \0. */
obstack_grow (¬es, name, name_length);
preserved_copy_of_name = obstack_finish (¬es);
-#ifdef STRIP_UNDERSCORE
- if (preserved_copy_of_name[0] == '_')
- preserved_copy_of_name++;
-#endif
#ifdef tc_canonicalize_symbol_name
preserved_copy_of_name =
#define TC_CONS_RELOC (Hmode ? R_RELLONG: R_RELWORD)
-#define DO_NOT_STRIP 0
#define LISTING_HEADER "Renesas H8/300 GAS "
#define NEED_FX_R_TYPE 1
#ifndef OBJ_ELF
extern void tc_reloc_mangle
(struct fix *, struct internal_reloc *, bfd_vma);
-#define DO_NOT_STRIP 0
#define LISTING_HEADER "Renesas H8/500 GAS "
#define NEED_FX_R_TYPE 1
#define RELOC_32 1234
#ifdef OBJ_COFF
/* COFF specific definitions. */
-#define DO_NOT_STRIP 0
-
/* This macro translates between an internal fix and a coff reloc type. */
#define TC_COFF_FIX2RTYPE(fix) ((fix)->fx_r_type)
#define TC_RELOC_MANGLE(s,a,b,c) tc_reloc_mangle (a,b,c)
extern void tc_reloc_mangle (struct fix *, struct internal_reloc *, bfd_vma);
-#define DO_NOT_STRIP 0
#define LISTING_HEADER "W65816 GAS "
#define NEED_FX_R_TYPE 1
#define RELOC_32 1234
extern void tc_reloc_mangle
PARAMS ((struct fix *, struct internal_reloc *, bfd_vma));
-#define DO_NOT_STRIP 0
#define LISTING_HEADER "Zilog Z8000 GAS "
#define NEED_FX_R_TYPE 1
#define RELOC_32 1234
else
{
segT seg;
- s = symbol_find_base (sec->symbol->name, 0);
+ s = symbol_find (sec->symbol->name);
/* We have to make sure it is the right symbol when we
have multiple sections with the same section name. */
if (s == NULL
obstack_grow (¬es, name, name_length);
ret = obstack_finish (¬es);
-#ifdef STRIP_UNDERSCORE
- if (ret[0] == '_')
- ++ret;
-#endif
-
#ifdef tc_canonicalize_symbol_name
ret = tc_canonicalize_symbol_name (ret);
#endif
Out: NULL if the name was not in the symbol table, else the address
of a struct symbol associated with that name. */
-symbolS *
-symbol_find (const char *name)
-{
-#ifdef STRIP_UNDERSCORE
- return (symbol_find_base (name, 1));
-#else /* STRIP_UNDERSCORE */
- return (symbol_find_base (name, 0));
-#endif /* STRIP_UNDERSCORE */
-}
-
symbolS *
symbol_find_exact (const char *name)
{
}
symbolS *
-symbol_find_base (const char *name, int strip_underscore)
+symbol_find (const char *name)
{
- if (strip_underscore && *name == '_')
- name++;
-
#ifdef tc_canonicalize_symbol_name
{
char *copy;
char *decode_local_label_name (char *s);
symbolS *symbol_find (const char *name);
symbolS *symbol_find_exact (const char *name);
-symbolS *symbol_find_base (const char *name, int strip_underscore);
symbolS *symbol_find_or_make (const char *name);
symbolS *symbol_make (const char *name);
symbolS *symbol_new (const char *name, segT segment, valueT value,