summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-hppa.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 306dc93564..4e75d4ae8c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-21 Randolph Chung <randolph@tausq.org>
+
+ * config/tc-hppa.h (tc_frob_symbol): Frob undefined unused symbols
+ only if they have default visibility.
+
2002-11-21 Richard Henderson <rth@redhat.com>
* config/tc-alpha.c (alpha_fix_adjustable): Remove redundant
diff --git a/gas/config/tc-hppa.h b/gas/config/tc-hppa.h
index ea1ce9cc93..842ff318fb 100644
--- a/gas/config/tc-hppa.h
+++ b/gas/config/tc-hppa.h
@@ -178,7 +178,8 @@ int hppa_fix_adjustable PARAMS((struct fix *));
#define tc_frob_symbol(sym,punt) \
{ \
- if ((S_GET_SEGMENT (sym) == &bfd_und_section && ! symbol_used_p (sym)) \
+ if ((S_GET_SEGMENT (sym) == &bfd_und_section && ! symbol_used_p (sym) && \
+ ELF_ST_VISIBILITY (S_GET_OTHER (sym)) == STV_DEFAULT) \
|| (S_GET_SEGMENT (sym) == &bfd_abs_section \
&& ! S_IS_EXTERNAL (sym)) \
|| strcmp (S_GET_NAME (sym), "$global$") == 0 \