re PR driver/33772 (collect2 doesn't strip .sl version)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Mon, 31 Dec 2007 15:02:59 +0000 (15:02 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 31 Dec 2007 15:02:59 +0000 (15:02 +0000)
PR driver/33772
* collect2.c (SHLIB_SUFFIX): Define if not defined.
(write_c_file_stat): Use SHLIB_SUFFIX.
* som.h (SHLIB_SUFFIX): Define.
* doc/tm.texi (SHLIB_SUFFIX): Document.

From-SVN: r131235

gcc/ChangeLog
gcc/collect2.c
gcc/config/pa/som.h
gcc/doc/tm.texi

index 2fef7a2816afa7876239299e6f5883e0e3fe2307..f951aa10e5e62495c1a8551edef2164c1e9da1d7 100644 (file)
@@ -1,3 +1,11 @@
+2007-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR driver/33772
+       * collect2.c (SHLIB_SUFFIX): Define if not defined.
+       (write_c_file_stat): Use SHLIB_SUFFIX.
+       * som.h (SHLIB_SUFFIX): Define.
+       * doc/tm.texi (SHLIB_SUFFIX): Document.
+
 2007-12-29  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/sse.md ("*divv4sf3"): Rename to "sse_divv4sf3".
index a673f256c3d99649f3f16ef94e335d53f1e087d4..bba108d27491d895e72f4a23b57e7e726806c789 100644 (file)
@@ -129,6 +129,10 @@ along with GCC; see the file COPYING3.  If not see
 #define SCAN_LIBRARIES
 #endif
 
+#ifndef SHLIB_SUFFIX
+#define SHLIB_SUFFIX ".so"
+#endif
+
 #ifdef USE_COLLECT2
 int do_collecting = 1;
 #else
@@ -1868,9 +1872,9 @@ write_c_file_stat (FILE *stream, const char *name ATTRIBUTE_UNUSED)
        }
       else
        {
-         if (strncmp (q, ".so", 3) == 0)
+         if (strncmp (q, SHLIB_SUFFIX, strlen (SHLIB_SUFFIX)) == 0)
            {
-             q += 3;
+             q += strlen (SHLIB_SUFFIX);
              break;
            }
          else
index 22bda046912de23bc1d210d555df8d643a96843f..5d1c054a3eb7c51dd373b46c2445bbb86f4c5b42 100644 (file)
@@ -335,3 +335,7 @@ do {                                                \
 /* We can't handle weak aliases, and therefore can't support pragma weak.
    Suppress the use of pragma weak in gthr-dce.h and gthr-posix.h.  */
 #define GTHREAD_USE_WEAK 0
+
+/* Shared library suffix.  Collect2 strips the version string after
+   this suffix when generating constructor/destructor names.  */ 
+#define SHLIB_SUFFIX ".sl"
index 0bf0b34cfe9aaa49a01ae9c0c2860d6f159b4f04..00dde97ad25e7f20f218c90fb12a09ac991815c8 100644 (file)
@@ -7931,6 +7931,14 @@ code must advance @var{ptr} to the beginning of the filename on that
 line.  Otherwise, it must set @var{ptr} to @code{NULL}.
 @end defmac
 
+@defmac SHLIB_SUFFIX
+Define this macro to a C string constant containing the default shared
+library extension of the target (e.g., @samp{".so"}).  @command{collect2}
+strips version information after this suffix when generating global
+constructor and destructor names.  This define is only needed on targets
+that use @command{collect2} to process constructors and destructors.
+@end defmac
+
 @node Instruction Output
 @subsection Output of Assembler Instructions