PR driver/33772
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Dec 2007 15:02:59 +0000 (15:02 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Dec 2007 15:02:59 +0000 (15:02 +0000)
* 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.

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

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

index 2fef7a2..f951aa1 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 a673f25..bba108d 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 22bda04..5d1c054 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 0bf0b34..00dde97 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