From e97b3f28e2d1fd6dc42cdb6cd00a9c6c05e2f394 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 20 Apr 2005 17:40:01 +0000 Subject: [PATCH] 2005-04-20 H.J. Lu * config/obj-aout.h (S_IS_EXTERN): Removed. * config/obj-bout.h (S_IS_EXTERN): Likewise. * config/obj-coff.h (S_IS_EXTERN): Likewise. * symbols.c (S_IS_EXTERN): Likewise. * symbols.h (S_IS_EXTERN): Likewise. * config/tc-alpha.c (tc_gen_reloc): Replace S_IS_EXTERN with S_IS_EXTERNAL. * config/tc-d10v.c (md_apply_fix3): Likewise. * config/tc-ia64.c (ia64_fix_adjustable): Likewise. * config/tc-iq2000.c (iq2000_fix_adjustable): Likewise. * config/tc-m32r.c (m32r_fix_adjustable): Likewise. * config/tc-mmix.c (mmix_adjust_symtab): Likewise. * config/tc-sh64.c (shmedia_frob_file_before_adjust): Likewise. (shmedia_md_convert_frag): Likewise. * symbols.c (print_symbol_value_1): Likewise. * write.c (write_object_file): Likewise. --- gas/ChangeLog | 20 ++++++++++++++++++++ gas/config/obj-aout.h | 2 -- gas/config/obj-bout.h | 2 -- gas/config/obj-coff.h | 4 ---- gas/config/tc-alpha.c | 2 +- gas/config/tc-d10v.c | 2 +- gas/config/tc-ia64.c | 2 +- gas/config/tc-iq2000.c | 2 +- gas/config/tc-m32r.c | 2 +- gas/config/tc-mmix.c | 2 +- gas/config/tc-sh64.c | 4 ++-- gas/symbols.c | 8 +------- gas/symbols.h | 1 - gas/write.c | 4 ++-- 14 files changed, 31 insertions(+), 26 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 0e3bb003910..a6fb06e8597 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,23 @@ +2005-04-20 H.J. Lu + + * config/obj-aout.h (S_IS_EXTERN): Removed. + * config/obj-bout.h (S_IS_EXTERN): Likewise. + * config/obj-coff.h (S_IS_EXTERN): Likewise. + * symbols.c (S_IS_EXTERN): Likewise. + * symbols.h (S_IS_EXTERN): Likewise. + + * config/tc-alpha.c (tc_gen_reloc): Replace S_IS_EXTERN with + S_IS_EXTERNAL. + * config/tc-d10v.c (md_apply_fix3): Likewise. + * config/tc-ia64.c (ia64_fix_adjustable): Likewise. + * config/tc-iq2000.c (iq2000_fix_adjustable): Likewise. + * config/tc-m32r.c (m32r_fix_adjustable): Likewise. + * config/tc-mmix.c (mmix_adjust_symtab): Likewise. + * config/tc-sh64.c (shmedia_frob_file_before_adjust): Likewise. + (shmedia_md_convert_frag): Likewise. + * symbols.c (print_symbol_value_1): Likewise. + * write.c (write_object_file): Likewise. + 2005-04-20 Nick Clifton * config/tc-xtensa.c (get_aligned_diff): Change type of diff --git a/gas/config/obj-aout.h b/gas/config/obj-aout.h index 8852cf1fcbc..842c0a6709f 100644 --- a/gas/config/obj-aout.h +++ b/gas/config/obj-aout.h @@ -127,8 +127,6 @@ extern void obj_aout_frob_file_before_fix (void); || (flag_strip_local_absolute \ && ! S_IS_EXTERNAL(s) \ && S_GET_SEGMENT (s) == absolute_section)) -/* True if a symbol is not defined in this file. */ -#define S_IS_EXTERN(s) ((s)->sy_symbol.n_type & N_EXT) /* True if the symbol has been generated because of a .stabd directive. */ #define S_IS_STABD(s) (S_GET_NAME(s) == NULL) diff --git a/gas/config/obj-bout.h b/gas/config/obj-bout.h index f51b8784c04..10a8184b360 100644 --- a/gas/config/obj-bout.h +++ b/gas/config/obj-bout.h @@ -197,8 +197,6 @@ struct relocation_info || (flag_strip_local_absolute \ && !S_IS_EXTERNAL(s) \ && S_GET_SEGMENT(s) == absolute_section)) -/* True if a symbol is not defined in this file. */ -#define S_IS_EXTERN(s) ((s)->sy_symbol.n_type & N_EXT) /* True if the symbol has been generated because of a .stabd directive. */ #define S_IS_STABD(s) (S_GET_NAME(s) == NULL) diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h index c6819a202dd..7a099d6e25f 100644 --- a/gas/config/obj-coff.h +++ b/gas/config/obj-coff.h @@ -502,10 +502,6 @@ typedef struct && !S_IS_EXTERNAL (s) \ && (s)->sy_symbol.ost_entry.n_scnum == C_ABS_SECTION)) -/* True if a symbol is not defined in this file. */ -#define S_IS_EXTERN(s) ((s)->sy_symbol.ost_entry.n_scnum == 0 \ - && S_GET_VALUE (s) == 0) - /* True if a symbol can be multiply defined (bss symbols have this def though it is bad practice). */ #define S_IS_COMMON(s) ((s)->sy_symbol.ost_entry.n_scnum == 0 \ diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c index 08826ecd1df..29a6fe5dfe4 100644 --- a/gas/config/tc-alpha.c +++ b/gas/config/tc-alpha.c @@ -5637,7 +5637,7 @@ tc_gen_reloc (asection *sec ATTRIBUTE_UNUSED, symbol, the relocation will entirely be performed at link time, not at assembly time. bfd_perform_reloc doesn't know about this sort of thing, and as a result we need to fake it out here. */ - if ((S_IS_EXTERN (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy) + if ((S_IS_EXTERNAL (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy) || (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_MERGE) || (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_THREAD_LOCAL)) && !S_IS_COMMON (fixp->fx_addsy)) diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c index eb00fbb0605..14450bbe679 100644 --- a/gas/config/tc-d10v.c +++ b/gas/config/tc-d10v.c @@ -1572,7 +1572,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) symbol, then ignore the offset. XXX - Do we have to worry about branches to a symbol + offset ? */ if (fixP->fx_addsy != NULL - && S_IS_EXTERN (fixP->fx_addsy) ) + && S_IS_EXTERNAL (fixP->fx_addsy) ) { segT fseg = S_GET_SEGMENT (fixP->fx_addsy); segment_info_type *segf = seg_info(fseg); diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 20c3aa60cdd..9f53ddc8620 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -10844,7 +10844,7 @@ ia64_fix_adjustable (fix) fixS *fix; { /* Prevent all adjustments to global symbols */ - if (S_IS_EXTERN (fix->fx_addsy) || S_IS_WEAK (fix->fx_addsy)) + if (S_IS_EXTERNAL (fix->fx_addsy) || S_IS_WEAK (fix->fx_addsy)) return 0; switch (fix->fx_r_type) diff --git a/gas/config/tc-iq2000.c b/gas/config/tc-iq2000.c index 11319098d44..0a5fcba7ec2 100644 --- a/gas/config/tc-iq2000.c +++ b/gas/config/tc-iq2000.c @@ -800,7 +800,7 @@ iq2000_fix_adjustable (fixS * fixP) return TRUE; /* Prevent all adjustments to global symbols. */ - if (S_IS_EXTERN (fixP->fx_addsy)) + if (S_IS_EXTERNAL (fixP->fx_addsy)) return FALSE; if (S_IS_WEAK (fixP->fx_addsy)) diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c index ab574fe71f4..c188fcfea1a 100644 --- a/gas/config/tc-m32r.c +++ b/gas/config/tc-m32r.c @@ -2205,7 +2205,7 @@ m32r_fix_adjustable (fixS *fixP) return 1; /* Prevent all adjustments to global symbols. */ - if (S_IS_EXTERN (fixP->fx_addsy)) + if (S_IS_EXTERNAL (fixP->fx_addsy)) return 0; if (S_IS_WEAK (fixP->fx_addsy)) return 0; diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c index f4a95f1634a..66fda95bcd5 100644 --- a/gas/config/tc-mmix.c +++ b/gas/config/tc-mmix.c @@ -3309,7 +3309,7 @@ mmix_adjust_symtab (void) { if (sym == regsec) { - if (S_IS_EXTERN (sym) || symbol_used_in_reloc_p (sym)) + if (S_IS_EXTERNAL (sym) || symbol_used_in_reloc_p (sym)) abort (); symbol_remove (sym, &symbol_rootP, &symbol_lastP); } diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c index a95589e23d8..d5c555bbc40 100644 --- a/gas/config/tc-sh64.c +++ b/gas/config/tc-sh64.c @@ -284,7 +284,7 @@ shmedia_frob_file_before_adjust (void) if (mainsym != NULL && S_GET_OTHER (mainsym) != STO_SH5_ISA32 - && (S_IS_EXTERN (mainsym) || S_IS_WEAK (mainsym))) + && (S_IS_EXTERNAL (mainsym) || S_IS_WEAK (mainsym))) { symp->sy_value.X_op = O_symbol; symp->sy_value.X_add_symbol = mainsym; @@ -823,7 +823,7 @@ shmedia_md_convert_frag (bfd *output_bfd ATTRIBUTE_UNUSED, || sh_relax || symbolP == NULL || ! S_IS_DEFINED (symbolP) - || S_IS_EXTERN (symbolP) + || S_IS_EXTERNAL (symbolP) || S_IS_WEAK (symbolP) || (S_GET_SEGMENT (fragP->fr_symbol) != absolute_section && S_GET_SEGMENT (fragP->fr_symbol) != seg)); diff --git a/gas/symbols.c b/gas/symbols.c index a7f05812922..9eaef168047 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -1822,12 +1822,6 @@ S_IS_LOCAL (symbolS *s) && name[1] == '?'))))); } -int -S_IS_EXTERN (symbolS *s) -{ - return S_IS_EXTERNAL (s); -} - int S_IS_STABD (symbolS *s) { @@ -2405,7 +2399,7 @@ print_symbol_value_1 (FILE *file, symbolS *sym) fprintf (file, " used"); if (S_IS_LOCAL (sym)) fprintf (file, " local"); - if (S_IS_EXTERN (sym)) + if (S_IS_EXTERNAL (sym)) fprintf (file, " extern"); if (S_IS_DEBUG (sym)) fprintf (file, " debug"); diff --git a/gas/symbols.h b/gas/symbols.h index f1fd351de2d..1ce5f85f748 100644 --- a/gas/symbols.h +++ b/gas/symbols.h @@ -98,7 +98,6 @@ 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 *); diff --git a/gas/write.c b/gas/write.c index b1941cb793a..e154cda4277 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1956,10 +1956,10 @@ write_object_file (void) if (symp == abs_section_sym || (! EMIT_SECTION_SYMBOLS && symbol_section_p (symp)) - /* Note that S_IS_EXTERN and S_IS_LOCAL are not always + /* Note that S_IS_EXTERNAL and S_IS_LOCAL are not always opposites. Sometimes the former checks flags and the latter examines the name... */ - || (!S_IS_EXTERN (symp) + || (!S_IS_EXTERNAL (symp) && (punt || S_IS_LOCAL (symp)) && ! symbol_used_in_reloc_p (symp))) { -- 2.30.2