diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-25 20:12:30 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-25 20:12:30 +0000 |
commit | c8b793cf1932b4beeec61310dae8c0d793fd4fd8 (patch) | |
tree | 16b8d2b210162126c0bc5180ef78f906750ade88 /gcc/collect2.c | |
parent | 4b44c1a3cd59c931a9720bacf53f4f737665dfbb (diff) | |
download | gcc-c8b793cf1932b4beeec61310dae8c0d793fd4fd8.tar.gz |
* config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
* collect2.c (main): Delete importf. Add ".obj" file extension.
(GCC_CHECK_HDR): Handle AIX V5 new magic number.
(aix_std_libs): Add additional AIX libraries to skip.
* config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
* config/rs6000/aix51.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39271 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/collect2.c')
-rw-r--r-- | gcc/collect2.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/gcc/collect2.c b/gcc/collect2.c index c24cefaa913..1541f7cbf22 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -1,7 +1,7 @@ /* Collect static initialization info into data structures that can be traversed by C++ initialization and finalization routines. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000 Free Software Foundation, Inc. + 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Chris Smith (csmith@convex.com). Heavily modified by Michael Meissner (meissner@cygnus.com), Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com). @@ -850,7 +850,6 @@ main (argc, argv) FILE *outf; #ifdef COLLECT_EXPORT_LIST FILE *exportf; - FILE *importf; #endif const char *ld_file_name; const char *p; @@ -1219,7 +1218,8 @@ main (argc, argv) } else if ((p = strrchr (arg, '.')) != (char *) 0 && (strcmp (p, ".o") == 0 || strcmp (p, ".a") == 0 - || strcmp (p, ".so") == 0 || strcmp (p, ".lo") == 0)) + || strcmp (p, ".so") == 0 || strcmp (p, ".lo") == 0 + || strcmp (p, ".obj") == 0)) { if (first_file) { @@ -2664,13 +2664,16 @@ scan_libraries (prog_name) #ifdef OBJECT_FORMAT_COFF #if defined(EXTENDED_COFF) + # define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax) # define GCC_SYMENT SYMR # define GCC_OK_SYMBOL(X) ((X).st == stProc || (X).st == stGlobal) # define GCC_SYMINC(X) (1) # define GCC_SYMZERO(X) (SYMHEADER(X).isymMax) # define GCC_CHECK_HDR(X) (PSYMTAB(X) != 0) + #else + # define GCC_SYMBOLS(X) (HEADER(ldptr).f_nsyms) # define GCC_SYMENT SYMENT # define GCC_OK_SYMBOL(X) \ @@ -2683,11 +2686,20 @@ scan_libraries (prog_name) (((X).n_sclass == C_EXT) && ((X).n_scnum == N_UNDEF)) # define GCC_SYMINC(X) ((X).n_numaux+1) # define GCC_SYMZERO(X) 0 + +/* 0757 = U803XTOCMAGIC (AIX 4.3) and 0767 = U64_TOCMAGIC (AIX V5) */ +#ifdef _AIX51 +# define GCC_CHECK_HDR(X) \ + ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \ + || (HEADER (X).f_magic == 0767 && aix64_flag)) +#else # define GCC_CHECK_HDR(X) \ ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \ || (HEADER (X).f_magic == 0757 && aix64_flag)) #endif +#endif + extern char *ldgetname (); /* COFF version to scan the name list of the loaded program for @@ -2913,12 +2925,18 @@ if (debug) fprintf (stderr, "found: %s\n", lib_buf); static const char *aix_std_libs[] = { "/unix", "/lib/libc.a", + "/lib/libm.a", "/lib/libc_r.a", + "/lib/libm_r.a", "/usr/lib/libc.a", + "/usr/lib/libm.a", "/usr/lib/libc_r.a", + "/usr/lib/libm_r.a", "/usr/lib/threads/libc.a", "/usr/ccs/lib/libc.a", + "/usr/ccs/lib/libm.a", "/usr/ccs/lib/libc_r.a", + "/usr/ccs/lib/libm_r.a", NULL }; |