]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/13150 (WEAK symbols not exported by collect2)
authorDavid Edelsohn <edelsohn@gnu.org>
Mon, 8 Dec 2003 19:02:39 +0000 (19:02 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Mon, 8 Dec 2003 19:02:39 +0000 (14:02 -0500)
        PR target/13150
        * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
        (GCC_UNDEF_SYMBOL): Same.

Co-Authored-By: Graham Reed <greed@pobox.com>
From-SVN: r74426

gcc/ChangeLog
gcc/collect2.c

index 266ca5e7480df455af72af8e1382b0b2866e5d30..9fd5e16c310e1099a9e78c5315345df84bb45894 100644 (file)
@@ -1,3 +1,10 @@
+2003-12-08  David Edelsohn  <edelsohn@gnu.org>
+           Graham Reed <greed@pobox.com>
+
+       PR target/13150
+        * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
+        (GCC_UNDEF_SYMBOL): Same.
+
 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR middle-end/10060
index 7b3dfaafa99a8830da4e7a47648524627307f7cb..c901179ffeb215891a4b4165d7bad26720b739d3 100644 (file)
@@ -2645,7 +2645,7 @@ scan_libraries (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
@@ -2658,14 +2658,26 @@ scan_libraries (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