diff options
author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-31 15:02:59 +0000 |
---|---|---|
committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-31 15:02:59 +0000 |
commit | 1ba3a59030c34669fd3f957740aabe7171fd7dc6 (patch) | |
tree | 85fdd38f176305106cbb90d88435a6728e14145d | |
parent | ffc5871af3df4ab780cbcd6c4b105f99a50672ee (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/collect2.c | 8 | ||||
-rw-r--r-- | gcc/config/pa/som.h | 4 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 8 |
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 |