summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-31 15:02:59 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-31 15:02:59 +0000
commit1ba3a59030c34669fd3f957740aabe7171fd7dc6 (patch)
tree85fdd38f176305106cbb90d88435a6728e14145d
parentffc5871af3df4ab780cbcd6c4b105f99a50672ee (diff)
downloadgcc-1ba3a59030c34669fd3f957740aabe7171fd7dc6.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131235 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/collect2.c8
-rw-r--r--gcc/config/pa/som.h4
-rw-r--r--gcc/doc/tm.texi8
4 files changed, 26 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2fef7a2816a..f951aa10e5e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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".
diff --git a/gcc/collect2.c b/gcc/collect2.c
index a673f256c3d..bba108d2749 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -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
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 22bda046912..5d1c054a3eb 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -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"
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 0bf0b34cfe9..00dde97ad25 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -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