diff options
author | David Edelsohn <edelsohn@gnu.org> | 2003-12-08 04:18:44 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2003-12-07 23:18:44 -0500 |
commit | 0eb31ee3566c07d81e5dfeb500215e224b42169f (patch) | |
tree | ef24f32400467f1946cffdbca90dcc5187add008 /gcc/collect2.c | |
parent | 6f1ec3b946775850e9a6b6209c816cf94a78ae43 (diff) | |
download | gcc-0eb31ee3566c07d81e5dfeb500215e224b42169f.zip gcc-0eb31ee3566c07d81e5dfeb500215e224b42169f.tar.gz gcc-0eb31ee3566c07d81e5dfeb500215e224b42169f.tar.bz2 |
collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
* 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: r74407
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r-- | gcc/collect2.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c index 73ef344..0d20b4d 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -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 |