Add some missing xcoff support
authorAlan Modra <amodra@gmail.com>
Fri, 7 Jul 2017 01:01:27 +0000 (10:31 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 7 Jul 2017 01:05:31 +0000 (10:35 +0930)
* coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.

bfd/ChangeLog
bfd/coffcode.h

index 4a3a3acb1b205cf93f644eecb5d3c3ee64e55964..1254e7e01d8b11026b161cc095bbc82b73e95ad1 100644 (file)
@@ -1,3 +1,7 @@
+2017-07-07  Alan Modra  <amodra@gmail.com>
+
+       * coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
+
 2017-07-07  Alan Modra  <amodra@gmail.com>
 
        * bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
index d6388d7dd376252b0fa5cadd71622ac447412248..ef8277220863b98b6d328489084b44630f48ec2b 100644 (file)
@@ -4811,6 +4811,7 @@ coff_slurp_symbol_table (bfd * abfd)
 #endif
 #ifdef RS6000COFF_C
            case C_HIDEXT:
+           case C_AIX_WEAKEXT:
 #endif
 #ifdef C_SYSTEM
            case C_SYSTEM:      /* System Wide variable.  */
@@ -4883,7 +4884,11 @@ coff_slurp_symbol_table (bfd * abfd)
                  && src->u.syment.n_scnum > 0)
                dst->symbol.flags = BSF_LOCAL;
 #endif
-             if (src->u.syment.n_sclass == C_WEAKEXT)
+             if (src->u.syment.n_sclass == C_WEAKEXT
+#ifdef RS6000COFF_C
+                 || src->u.syment.n_sclass == C_AIX_WEAKEXT
+#endif
+                 )
                dst->symbol.flags |= BSF_WEAK;
 
              break;