Commit a322799d by David Edelsohn Committed by David Edelsohn

aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.

        * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
cp/
        * g++-spec.c (LIBSTDCXX_STATIC): Default to NULL.
        (lang_specific_driver): Always allocate extra argument.
        Add LIBSTDCXX_STATIC to arglist if defined and linking
        statically.

From-SVN: r148546
parent c58c92f5
2009-06-16 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove -lstdc++.
2009-06-16 David Edelsohn <edelsohn@gnu.org>
* doc/install.texi (*-*-aix): Update explanation of XLC bootstrap.
GCC can bootstrap on AIX with GNU Binutils 2.20.
......
......@@ -148,7 +148,7 @@
%{p:-L%R/lib/profiled -L%R/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc"
/* Static linking with shared libstdc++ requires libsupc++ as well. */
#define LIBSTDCXX_STATIC "-lstdc++ -lsupc++"
#define LIBSTDCXX_STATIC "-lsupc++"
/* This now supports a natural alignment mode. */
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
......
2009-06-16 David Edelsohn <edelsohn@gnu.org>
* g++-spec.c (LIBSTDCXX_STATIC): Default to NULL.
(lang_specific_driver): Always allocate extra argument.
Add LIBSTDCXX_STATIC to arglist if defined and linking
statically.
2009-06-16 Ian Lance Taylor <iant@google.com>
* Make-lang.in (cp/class.o): Depend upon gt-cp-class.h.
......
......@@ -45,7 +45,7 @@ along with GCC; see the file COPYING3. If not see
#define LIBSTDCXX_PROFILE LIBSTDCXX
#endif
#ifndef LIBSTDCXX_STATIC
#define LIBSTDCXX_STATIC LIBSTDCXX
#define LIBSTDCXX_STATIC NULL
#endif
void
......@@ -259,8 +259,9 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
shared_libgcc = 0;
#endif
/* Make sure to have room for the trailing NULL argument. */
num_args = argc + added + need_math + shared_libgcc + (library > 0) + 1;
/* Make sure to have room for the trailing NULL argument.
Add one for shared_libgcc or extra static library. */
num_args = argc + added + need_math + (library > 0) + 2;
arglist = XNEWVEC (const char *, num_args);
i = 0;
......@@ -318,8 +319,15 @@ lang_specific_driver (int *in_argc, const char *const **in_argv,
/* Add `-lstdc++' if we haven't already done so. */
if (library > 0)
{
arglist[j] = shared_libgcc == 0 ? LIBSTDCXX_STATIC
: saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX;
arglist[j] = saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX;
if (arglist[j][0] != '-' || arglist[j][1] == 'l')
added_libraries++;
j++;
}
/* Add target-dependent static library, if necessary. */
if (shared_libgcc == 0 && LIBSTDCXX_STATIC != NULL)
{
arglist[j] = LIBSTDCXX_STATIC;
if (arglist[j][0] != '-' || arglist[j][1] == 'l')
added_libraries++;
j++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment