* collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Dec 2003 04:18:44 +0000 (04:18 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Dec 2003 04:18:44 +0000 (04:18 +0000)
        (GCC_UNDEF_SYMBOL): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74407 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/collect2.c

index 7d2cb11..b3bffc0 100644 (file)
@@ -1,3 +1,9 @@
+2003-12-07  David Edelsohn  <edelsohn@gnu.org>
+           Graham Reed <greed@pobox.com>
+
+       * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
+       (GCC_UNDEF_SYMBOL): Same.
+
 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
 
        * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
index 73ef344..0d20b4d 100644 (file)
@@ -2552,7 +2552,7 @@ scan_libraries (const char *prog_name)
 
 #ifdef OBJECT_FORMAT_COFF
 
-#if defined(EXTENDED_COFF)
+#if defined (EXTENDED_COFF)
 
 #   define GCC_SYMBOLS(X)      (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax)
 #   define GCC_SYMENT          SYMR
@@ -2565,14 +2565,26 @@ scan_libraries (const char *prog_name)
 
 #   define GCC_SYMBOLS(X)      (HEADER(ldptr).f_nsyms)
 #   define GCC_SYMENT          SYMENT
-#   define GCC_OK_SYMBOL(X) \
-     (((X).n_sclass == C_EXT) && \
-      ((X).n_scnum > N_UNDEF) && \
-      (aix64_flag \
-       || (((X).n_type & N_TMASK) == (DT_NON << N_BTSHFT) \
-           || ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))))
-#   define GCC_UNDEF_SYMBOL(X) \
-     (((X).n_sclass == C_EXT) && ((X).n_scnum == N_UNDEF))
+#   if defined (C_WEAKEXT)
+#     define GCC_OK_SYMBOL(X) \
+       (((X).n_sclass == C_EXT || (X).n_sclass == C_WEAKEXT) && \
+        ((X).n_scnum > N_UNDEF) && \
+        (aix64_flag \
+         || (((X).n_type & N_TMASK) == (DT_NON << N_BTSHFT) \
+             || ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))))
+#     define GCC_UNDEF_SYMBOL(X) \
+       (((X).n_sclass == C_EXT || (X).n_sclass == C_WEAKEXT) && \
+        ((X).n_scnum == N_UNDEF))
+#   else
+#     define GCC_OK_SYMBOL(X) \
+       (((X).n_sclass == C_EXT) && \
+        ((X).n_scnum > N_UNDEF) && \
+        (aix64_flag \
+         || (((X).n_type & N_TMASK) == (DT_NON << N_BTSHFT) \
+             || ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))))
+#     define GCC_UNDEF_SYMBOL(X) \
+       (((X).n_sclass == C_EXT) && ((X).n_scnum == N_UNDEF))
+#   endif
 #   define GCC_SYMINC(X)       ((X).n_numaux+1)
 #   define GCC_SYMZERO(X)      0