Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/binutils/dist/gas/config Add a private now S_I...



details:   https://anonhg.NetBSD.org/src/rev/c62b0cc9aa08
branches:  trunk
changeset: 759359:c62b0cc9aa08
user:      matt <matt%NetBSD.org@localhost>
date:      Mon Dec 06 21:17:00 2010 +0000

description:
Add a private now S_IS_HIDDEN(symbol) so gas deal with hidden symbols
correctly.

diffstat:

 external/gpl3/binutils/dist/gas/config/tc-vax.c |  20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diffs (37 lines):

diff -r baa8d6da64bf -r c62b0cc9aa08 external/gpl3/binutils/dist/gas/config/tc-vax.c
--- a/external/gpl3/binutils/dist/gas/config/tc-vax.c   Mon Dec 06 21:16:53 2010 +0000
+++ b/external/gpl3/binutils/dist/gas/config/tc-vax.c   Mon Dec 06 21:17:00 2010 +0000
@@ -266,6 +266,23 @@
 
 #define min(a, b)      ((a) < (b) ? (a) : (b))
 
+#ifdef OBJ_ELF
+static int
+S_IS_HIDDEN(symbolS *symbolP)
+{
+  asymbol *bfdsym;
+  elf_symbol_type *elfsym;
+
+  bfdsym = symbol_get_bfdsym (symbolP);
+  elfsym = elf_symbol_from (bfd_asymbol_bfd (bfdsym), bfdsym);
+  
+  assert (elfsym);
+
+  return (elfsym->internal_elf_sym.st_other & 3) == STV_HIDDEN;
+}
+#endif /* OBJ_ELF */
+
+
 void
 md_number_to_chars (char con[], valueT value, int nbytes)
 {
@@ -392,6 +409,9 @@
              && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol)
              && fragP->fr_symbol != NULL
              && flag_want_pic
+#ifdef OBJ_ELF
+             && !S_IS_HIDDEN (fragP->fr_symbol)
+#endif
              && (!S_IS_DEFINED (fragP->fr_symbol)
                  || S_IS_WEAK (fragP->fr_symbol)
                  || S_IS_EXTERNAL (fragP->fr_symbol)))



Home | Main Index | Thread Index | Old Index