From: John David Anglin Date: Mon, 31 Dec 2007 15:02:59 +0000 (+0000) Subject: re PR driver/33772 (collect2 doesn't strip .sl version) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=881466d851f3c806692bda4569a4534d89848104;p=gcc.git re PR driver/33772 (collect2 doesn't strip .sl version) 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 --- 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 + + 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 * 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