public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++
@ 2011-07-24 19:11 jan.kratochvil at redhat dot com
  2011-07-25  9:13 ` [Bug bootstrap/49829] [4.7 Regression] " rguenth at gcc dot gnu.org
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-07-24 19:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

           Summary: --disable-static --enable-shared regression: cannot
                    find -lstdc++
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jan.kratochvil@redhat.com
              Host: x86_64-fedora16-linux-gnu
            Target: x86_64-fedora16-linux-gnu
             Build: x86_64-fedora16-linux-gnu


My regular builds have started to fail by 2011-07-19 -> 2011-07-20:

/BUILDDIR/./prev-gcc/g++ -B/BUILDDIR/./prev-gcc/
-B/ROOTDIR/x86_64-unknown-linux-gnu/bin/ -nostdinc++
-B/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/SRCDIR/libstdc++-v3/libsupc++
-L/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/BUILDDIR/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs  -g -O2
-gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -static-libstdc++
-static-libgcc  -o jvgenmain java/jvgenmain.o java/mangle_name.o \ 
        libcommon.a ../libcpp/libcpp.a   ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a
/usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
make[3]: *** [jvgenmain] Error 1

Specifically using:
../SRCDIR/configure --enable-64-bit-bfd --disable-static --enable-shared
--enable-debug --disable-sim --enable-gold --enable-plugins --disable-werror
--with-separate-debug-dir=/usr/lib/debug --prefix=/ROOTDIR --disable-werror
--enable-languages=c,c++,fortran,java,ada
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
@ 2011-07-25  9:13 ` rguenth at gcc dot gnu.org
  2011-07-25 17:53 ` ian at airs dot com
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-07-25  9:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.07.25 09:13:28
          Component|other                       |bootstrap
                 CC|                            |iant at google dot com
     Ever Confirmed|0                           |1
            Summary|--disable-static            |[4.7 Regression]
                   |--enable-shared regression: |--disable-static
                   |cannot find -lstdc++        |--enable-shared regression:
                   |                            |cannot find -lstdc++
   Target Milestone|---                         |4.7.0

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-07-25 09:13:28 UTC ---
Hm, I suppose disabling the static libstdc++ isn't supposed to work anymore.
Ian - should we in this case link libstdc++ dynamically with all the possible
issues that might have?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
  2011-07-25  9:13 ` [Bug bootstrap/49829] [4.7 Regression] " rguenth at gcc dot gnu.org
@ 2011-07-25 17:53 ` ian at airs dot com
  2011-08-02 14:47 ` rguenth at gcc dot gnu.org
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: ian at airs dot com @ 2011-07-25 17:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Ian Lance Taylor <ian at airs dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ian at airs dot com

--- Comment #2 from Ian Lance Taylor <ian at airs dot com> 2011-07-25 17:52:31 UTC ---
I think we should change --disable-static applied to libstdc++ so that it
simply does not install the static libstdc++.  Then we can continue to link gcc
statically against libstdc++, which I think is what we need to do.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
  2011-07-25  9:13 ` [Bug bootstrap/49829] [4.7 Regression] " rguenth at gcc dot gnu.org
  2011-07-25 17:53 ` ian at airs dot com
@ 2011-08-02 14:47 ` rguenth at gcc dot gnu.org
  2012-01-03 12:37 ` jakub at gcc dot gnu.org
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-02 14:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (2 preceding siblings ...)
  2011-08-02 14:47 ` rguenth at gcc dot gnu.org
@ 2012-01-03 12:37 ` jakub at gcc dot gnu.org
  2012-01-03 13:07 ` bonzini at gnu dot org
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-03 12:37 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aoliva at gcc dot gnu.org,
                   |                            |bonzini at gnu dot org, dj
                   |                            |at gcc dot gnu.org, jakub
                   |                            |at gcc dot gnu.org, rwild
                   |                            |at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-03 12:36:53 UTC ---
Build maintainers, any ideas how to do this?  I guess the toplevel configure
should not pass --disable-static to libstdc++ configure then, but some other
option, but no idea how to arrange in automake build, but no install, of the
*.a library.
For 4.7 the alternative could be to
--disable-build-poststage1-with-cxx --disable-build-with-cxx if
--disable-static is seen (or error out if explicitly both options are passed).


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (3 preceding siblings ...)
  2012-01-03 12:37 ` jakub at gcc dot gnu.org
@ 2012-01-03 13:07 ` bonzini at gnu dot org
  2012-01-19  9:09 ` bkoz at gcc dot gnu.org
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bonzini at gnu dot org @ 2012-01-03 13:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #4 from Paolo Bonzini <bonzini at gnu dot org> 2012-01-03 13:06:50 UTC ---
You can just set enable_static=no early in libstdc++-v3/configure.ac.  It will
still install libstdc++-v3.a, which is a bit ugly, but that's quite hard to
achieve due to libtool.

One alternative is to build a convenience library (always static) for
libstdc++.  Then you build the shared library from it, and link gcc to the
convenience library.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (4 preceding siblings ...)
  2012-01-03 13:07 ` bonzini at gnu dot org
@ 2012-01-19  9:09 ` bkoz at gcc dot gnu.org
  2012-01-19  9:15 ` bkoz at gcc dot gnu.org
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-19  9:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #5 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-19 08:52:04 UTC ---

As per #4, here's the convenience library approach.

With this, libstdc++.so is composed of three convenience libraries:
  1. libsupc++convenience.la
  2. libstdc++98convenience.la
  3. libstdc++11convenience.la

This seems like it will work, but haven't reproduced this issue yet so can't
tell for certain.

I'm not exactly sure how to use these convenience libraries instead of
libstdc++.a in the gcc build process. But perhaps somebody else can figure out
that part....


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (5 preceding siblings ...)
  2012-01-19  9:09 ` bkoz at gcc dot gnu.org
@ 2012-01-19  9:15 ` bkoz at gcc dot gnu.org
  2012-01-19  9:24 ` bonzini at gnu dot org
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-19  9:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #6 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-19 08:52:55 UTC ---
Created attachment 26373
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26373
libstdc++ binary composed from three convenience libraries


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (6 preceding siblings ...)
  2012-01-19  9:15 ` bkoz at gcc dot gnu.org
@ 2012-01-19  9:24 ` bonzini at gnu dot org
  2012-01-19  9:29 ` bkoz at gcc dot gnu.org
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bonzini at gnu dot org @ 2012-01-19  9:24 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #7 from Paolo Bonzini <bonzini at gnu dot org> 2012-01-19 08:59:02 UTC ---
The convenience library can be linked with -L.../.libs -lsupc++convenience
-lstdc++convenience98.

But it really looks like you attached the wrong patch?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (7 preceding siblings ...)
  2012-01-19  9:24 ` bonzini at gnu dot org
@ 2012-01-19  9:29 ` bkoz at gcc dot gnu.org
  2012-01-19 16:14 ` bkoz at gcc dot gnu.org
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-19  9:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #26373|0                           |1
        is obsolete|                            |

--- Comment #8 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-19 09:08:12 UTC ---
Created attachment 26374
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26374
full patch with src renames


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (8 preceding siblings ...)
  2012-01-19  9:29 ` bkoz at gcc dot gnu.org
@ 2012-01-19 16:14 ` bkoz at gcc dot gnu.org
  2012-01-19 17:07 ` bkoz at gcc dot gnu.org
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-19 16:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #26374|0                           |1
        is obsolete|                            |

--- Comment #9 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-19 15:56:27 UTC ---
Created attachment 26383
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26383
patch try 3


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (9 preceding siblings ...)
  2012-01-19 16:14 ` bkoz at gcc dot gnu.org
@ 2012-01-19 17:07 ` bkoz at gcc dot gnu.org
  2012-01-20  3:41 ` bkoz at gcc dot gnu.org
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-19 17:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #10 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-19 16:40:45 UTC ---

I still don't get this part of it: "Then you build the shared library from it,
and link gcc to the convenience library."

When there is not one convenience library, but three. Seems like my options
are:

1) combine the three convenience libraries into one, meta or super convenient
library

2) link gcc with libstdc++98convenience + libstdc++11convenience + libsupc++
instead of libstdc++

Right?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (10 preceding siblings ...)
  2012-01-19 17:07 ` bkoz at gcc dot gnu.org
@ 2012-01-20  3:41 ` bkoz at gcc dot gnu.org
  2012-01-20  8:15 ` bonzini at gnu dot org
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-20  3:41 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #26383|0                           |1
        is obsolete|                            |

--- Comment #11 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-20 02:56:45 UTC ---
Created attachment 26389
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26389
try 4, git diff -M


produces 
src/.libs
src-c++98/.libs
src-c++11/.libs


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (11 preceding siblings ...)
  2012-01-20  3:41 ` bkoz at gcc dot gnu.org
@ 2012-01-20  8:15 ` bonzini at gnu dot org
  2012-01-20  9:51 ` jakub at gcc dot gnu.org
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bonzini at gnu dot org @ 2012-01-20  8:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #12 from Paolo Bonzini <bonzini at gnu dot org> 2012-01-20 07:52:26 UTC ---
(In reply to comment #10)
> When there is not one convenience library, but three. Seems like my options
> are:
> 
> 1) combine the three convenience libraries into one, meta or super convenient
> library
> 
> 2) link gcc with libstdc++98convenience + libstdc++11convenience + libsupc++
> instead of libstdc++

Yes, either should work.  I don't think it's too inconvenient (sorry...) to
link with the three libraries.  Does GCC use stdc++11 features?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (12 preceding siblings ...)
  2012-01-20  8:15 ` bonzini at gnu dot org
@ 2012-01-20  9:51 ` jakub at gcc dot gnu.org
  2012-01-20 22:47 ` bkoz at gcc dot gnu.org
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-20  9:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-20 09:37:25 UTC ---
Right now I think cc1/cc1plus/etc. would be happy even with an empty
libstdc++.a (they are compiled with -fno-exceptions -fno-rtti, so shouldn't
need even libsupc++) and go1 I think uses just the c++98 stuff and libsupc++.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (13 preceding siblings ...)
  2012-01-20  9:51 ` jakub at gcc dot gnu.org
@ 2012-01-20 22:47 ` bkoz at gcc dot gnu.org
  2012-01-20 23:57 ` jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-20 22:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #14 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-20 22:25:18 UTC ---
Created attachment 26398
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26398
try 5, src/c++11/.libs, src/c++98/.libs, libstdc++convenience.la


Changes:

1) nest source SUBDIRS in toplevel src directory, so src/c++98, src/c++11.
2) add supra-convenient library, libstdc++convenience.la to src Makefile.am as
a target

The question is now, how do I get gcc to link with libstdc++convenience.la
instead of libstdc++ when --disable-static?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (14 preceding siblings ...)
  2012-01-20 22:47 ` bkoz at gcc dot gnu.org
@ 2012-01-20 23:57 ` jakub at gcc dot gnu.org
  2012-01-23 23:02 ` bkoz at gcc dot gnu.org
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-20 23:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-20 22:32:24 UTC ---
gcc just uses -static-libstdc++, so presumably the easiest would be if in some
subdirectory we linked this libstdc++convenience.la into a noinst libstdc++.a.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (15 preceding siblings ...)
  2012-01-20 23:57 ` jakub at gcc dot gnu.org
@ 2012-01-23 23:02 ` bkoz at gcc dot gnu.org
  2012-01-23 23:19 ` bkoz at gcc dot gnu.org
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-23 23:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #16 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-23 22:21:53 UTC ---

Well I tried to just use the generated Makefile rules to hack together a
solution for --disable-static using the convenience libraries

My plan was to generate a libstdc++convenience library always, and then if
libstdc++.a is not created as per the usual (ie, --disable-static), then to
create it from libstdc++convenience. 

Like so:


libstdc++-v3/src/Makefile.am:

# Make a non-installed convenience library, so that --disable-static
# may work.
libstdc++convenience.la: $(toolexeclib_LTLIBRARIES)
    $(CXXLINK) $(libstdc___la_LIBADD) $(LIBS); \
    if test ! -f .libs/libstdc++.a; then \
      cp .libs/libstdc++convenience.a .libs/libstdc++.a; \
    fi; \
    echo `date` > stamp-libstdc++convenience; 


results in the build completing and:


/mnt/share/bld/gcc.git-disable-static/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src

has

drwxrwxr-x  3 bkoz bkoz 4.0K Jan 23 11:51 c++11/
drwxrwxr-x  3 bkoz bkoz 4.0K Jan 23 11:51 c++98/
drwxrwxr-x  2 bkoz bkoz 4.0K Jan 23 11:51 .libs/
-rw-rw-r--  1 bkoz bkoz  905 Jan 23 11:51 libstdc++convenience.la
-rw-rw-r--  1 bkoz bkoz  985 Jan 23 11:51 libstdc++.la
-rw-rw-r--  1 bkoz bkoz  47K Jan 23 11:51 libstdc++-symbols.ver
-rw-rw-r--  1 bkoz bkoz  31K Jan 23 11:50 Makefile
-rw-rw-r--  1 bkoz bkoz   29 Jan 23 11:51 stamp-libstdc++convenience

and

/mnt/share/bld/gcc.git-disable-static/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs

has:

drwxrwxr-x 2 bkoz bkoz 4.0K Jan 23 14:17 ./
drwxrwxr-x 5 bkoz bkoz 4.0K Jan 23 14:17 ../
-rw-rw-r-- 1 bkoz bkoz  23M Jan 23 14:17 libstdc++.a
-rw-rw-r-- 1 bkoz bkoz  23M Jan 23 14:17 libstdc++convenience.a
lrwxrwxrwx 1 bkoz bkoz   26 Jan 23 14:17 libstdc++convenience.la ->
../libstdc++convenience.la
lrwxrwxrwx 1 bkoz bkoz   15 Jan 23 14:17 libstdc++.la -> ../libstdc++.la
-rw-rw-r-- 1 bkoz bkoz  986 Jan 23 14:17 libstdc++.lai
lrwxrwxrwx 1 bkoz bkoz   19 Jan 23 14:17 libstdc++.so -> libstdc++.so.6.0.17*
lrwxrwxrwx 1 bkoz bkoz   19 Jan 23 14:17 libstdc++.so.6 -> libstdc++.so.6.0.17*
-rwxrwxr-x 1 bkoz bkoz 8.2M Jan 23 14:17 libstdc++.so.6.0.17*


I'm going to check this with cross compiles, and then if that works check it
in.

The hacky-bits for copying libstdc++ can hopefully be cleaned up at a later
date or by a certified build genius.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (16 preceding siblings ...)
  2012-01-23 23:02 ` bkoz at gcc dot gnu.org
@ 2012-01-23 23:19 ` bkoz at gcc dot gnu.org
  2012-01-24  7:06 ` bkoz at gcc dot gnu.org
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-23 23:19 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #17 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-23 23:12:07 UTC ---
Author: bkoz
Date: Mon Jan 23 23:12:01 2012
New Revision: 183457

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183457
Log:
2012-01-20  Benjamin Kosnik  <bkoz@redhat.com>

    PR libstdc++/49829
    Add libc++98convenience.la, libc++11convenience.la.
    * src/c++98: New directory.
    * src/c++11: New directory.
    * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
    * configure: Regenerated.
    * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
    * Makefile.in: Regenerate.
    * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
    -fno-implicit-templates.
    * libsupc++/Makefile.in: Regenerate.
    * src/Makefile.am (inst_sources): Move... C++11 files into
    separate directory for libstdc++11convenience.la. Files are:
    fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
    (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
    compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
    functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
    system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
    mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
    (libstdc++convenience.la): Add new target.
    (SUBDIRS): Add c++11, c++98.
    * src/Makefile.in: Regenerate.
    * src/c++11/Makefile.am: New.
    * src/c++11/Makefile.in: Generate.
    * src/c++98/Makefile.am: New, C++98 files.
    * src/c++98/Makefile.in: Generate.

2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>

    PR libstdc++/49829
    Add libc++98convenience.la, libc++11convenience.la.
    * src/c++98: New directory.
    * src/c++11: New directory.
    * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
    * configure: Regenerated.
    * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
    * Makefile.in: Regenerate.
    * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
    -fno-implicit-templates.
    * libsupc++/Makefile.in: Regenerate.
    * src/Makefile.am (inst_sources): Move... C++11 files into
    separate directory for libstdc++11convenience.la. Files are:
    fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
    (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
    compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
    functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
    system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
    mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
    (libstdc++convenience.la): Add new target.
    (SUBDIRS): Add c++11, c++98.
    * src/Makefile.in: Regenerate.
    * src/c++11/Makefile.am: New.
    * src/c++11/Makefile.in: Generate.
    * src/c++98/Makefile.am: New, C++98 files.
    * src/c++98/Makefile.in: Generate.

Added:
    trunk/libstdc++-v3/src/c++11/
    trunk/libstdc++-v3/src/c++11/Makefile.am
    trunk/libstdc++-v3/src/c++11/Makefile.in
      - copied, changed from r183455, trunk/libstdc++-v3/libsupc++/Makefile.in
    trunk/libstdc++-v3/src/c++11/chrono.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/chrono.cc
    trunk/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-atomic-c++0x.cc
    trunk/libstdc++-v3/src/c++11/compatibility-c++0x.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-c++0x.cc
    trunk/libstdc++-v3/src/c++11/condition_variable.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/condition_variable.cc
    trunk/libstdc++-v3/src/c++11/debug.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/debug.cc
    trunk/libstdc++-v3/src/c++11/fstream-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/fstream-inst.cc
    trunk/libstdc++-v3/src/c++11/functexcept.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/functexcept.cc
    trunk/libstdc++-v3/src/c++11/functional.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/functional.cc
    trunk/libstdc++-v3/src/c++11/future.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/future.cc
    trunk/libstdc++-v3/src/c++11/hash_c++0x.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/hash_c++0x.cc
    trunk/libstdc++-v3/src/c++11/hashtable_c++0x.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/hashtable_c++0x.cc
    trunk/libstdc++-v3/src/c++11/limits.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/limits.cc
    trunk/libstdc++-v3/src/c++11/mutex.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/mutex.cc
    trunk/libstdc++-v3/src/c++11/placeholders.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/placeholders.cc
    trunk/libstdc++-v3/src/c++11/regex.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/regex.cc
    trunk/libstdc++-v3/src/c++11/shared_ptr.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/shared_ptr.cc
    trunk/libstdc++-v3/src/c++11/string-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/string-inst.cc
    trunk/libstdc++-v3/src/c++11/system_error.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/system_error.cc
    trunk/libstdc++-v3/src/c++11/thread.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/thread.cc
    trunk/libstdc++-v3/src/c++11/wstring-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/wstring-inst.cc
    trunk/libstdc++-v3/src/c++98/
    trunk/libstdc++-v3/src/c++98/Makefile.am
    trunk/libstdc++-v3/src/c++98/Makefile.in
      - copied, changed from r183455, trunk/libstdc++-v3/libsupc++/Makefile.in
    trunk/libstdc++-v3/src/c++98/allocator-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/allocator-inst.cc
    trunk/libstdc++-v3/src/c++98/bitmap_allocator.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/bitmap_allocator.cc
    trunk/libstdc++-v3/src/c++98/codecvt.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/codecvt.cc
    trunk/libstdc++-v3/src/c++98/compatibility-debug_list-2.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-debug_list-2.cc
    trunk/libstdc++-v3/src/c++98/compatibility-debug_list.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-debug_list.cc
    trunk/libstdc++-v3/src/c++98/compatibility-ldbl.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-ldbl.cc
    trunk/libstdc++-v3/src/c++98/compatibility-list-2.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-list-2.cc
    trunk/libstdc++-v3/src/c++98/compatibility-list.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-list.cc
    trunk/libstdc++-v3/src/c++98/compatibility-parallel_list-2.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-parallel_list-2.cc
    trunk/libstdc++-v3/src/c++98/compatibility-parallel_list.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/compatibility-parallel_list.cc
    trunk/libstdc++-v3/src/c++98/compatibility.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/compatibility.cc
    trunk/libstdc++-v3/src/c++98/complex_io.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/complex_io.cc
    trunk/libstdc++-v3/src/c++98/concept-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/concept-inst.cc
    trunk/libstdc++-v3/src/c++98/ctype.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ctype.cc
    trunk/libstdc++-v3/src/c++98/ext-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ext-inst.cc
    trunk/libstdc++-v3/src/c++98/globals_io.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/globals_io.cc
    trunk/libstdc++-v3/src/c++98/hash-long-double-tr1-aux.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/hash-long-double-tr1-aux.cc
    trunk/libstdc++-v3/src/c++98/hash_tr1.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/hash_tr1.cc
    trunk/libstdc++-v3/src/c++98/hashtable_tr1.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/hashtable_tr1.cc
    trunk/libstdc++-v3/src/c++98/ios-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ios-inst.cc
    trunk/libstdc++-v3/src/c++98/ios.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ios.cc
    trunk/libstdc++-v3/src/c++98/ios_failure.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ios_failure.cc
    trunk/libstdc++-v3/src/c++98/ios_init.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ios_init.cc
    trunk/libstdc++-v3/src/c++98/ios_locale.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ios_locale.cc
    trunk/libstdc++-v3/src/c++98/iostream-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/iostream-inst.cc
    trunk/libstdc++-v3/src/c++98/istream-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/istream-inst.cc
    trunk/libstdc++-v3/src/c++98/istream.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/istream.cc
    trunk/libstdc++-v3/src/c++98/list.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/list.cc
    trunk/libstdc++-v3/src/c++98/locale-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/locale-inst.cc
    trunk/libstdc++-v3/src/c++98/locale.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/locale.cc
    trunk/libstdc++-v3/src/c++98/locale_facets.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/locale_facets.cc
    trunk/libstdc++-v3/src/c++98/locale_init.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/locale_init.cc
    trunk/libstdc++-v3/src/c++98/localename.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/localename.cc
    trunk/libstdc++-v3/src/c++98/math_stubs_float.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/math_stubs_float.cc
    trunk/libstdc++-v3/src/c++98/math_stubs_long_double.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/math_stubs_long_double.cc
    trunk/libstdc++-v3/src/c++98/misc-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/misc-inst.cc
    trunk/libstdc++-v3/src/c++98/mt_allocator.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/mt_allocator.cc
    trunk/libstdc++-v3/src/c++98/ostream-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/ostream-inst.cc
    trunk/libstdc++-v3/src/c++98/parallel_settings.cc
      - copied, changed from r183455,
trunk/libstdc++-v3/src/parallel_settings.cc
    trunk/libstdc++-v3/src/c++98/pool_allocator.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/pool_allocator.cc
    trunk/libstdc++-v3/src/c++98/sstream-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/sstream-inst.cc
    trunk/libstdc++-v3/src/c++98/stdexcept.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/stdexcept.cc
    trunk/libstdc++-v3/src/c++98/streambuf-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/streambuf-inst.cc
    trunk/libstdc++-v3/src/c++98/streambuf.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/streambuf.cc
    trunk/libstdc++-v3/src/c++98/strstream.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/strstream.cc
    trunk/libstdc++-v3/src/c++98/tree.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/tree.cc
    trunk/libstdc++-v3/src/c++98/valarray.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/valarray.cc
    trunk/libstdc++-v3/src/c++98/wlocale-inst.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/wlocale-inst.cc
    trunk/libstdc++-v3/src/shared/
    trunk/libstdc++-v3/src/shared/hashtable-aux.cc
      - copied, changed from r183455, trunk/libstdc++-v3/src/hashtable-aux.cc
Removed:
    trunk/libstdc++-v3/src/allocator-inst.cc
    trunk/libstdc++-v3/src/bitmap_allocator.cc
    trunk/libstdc++-v3/src/chrono.cc
    trunk/libstdc++-v3/src/codecvt.cc
    trunk/libstdc++-v3/src/compatibility-atomic-c++0x.cc
    trunk/libstdc++-v3/src/compatibility-c++0x.cc
    trunk/libstdc++-v3/src/compatibility-debug_list-2.cc
    trunk/libstdc++-v3/src/compatibility-debug_list.cc
    trunk/libstdc++-v3/src/compatibility-ldbl.cc
    trunk/libstdc++-v3/src/compatibility-list-2.cc
    trunk/libstdc++-v3/src/compatibility-list.cc
    trunk/libstdc++-v3/src/compatibility-parallel_list-2.cc
    trunk/libstdc++-v3/src/compatibility-parallel_list.cc
    trunk/libstdc++-v3/src/compatibility.cc
    trunk/libstdc++-v3/src/complex_io.cc
    trunk/libstdc++-v3/src/concept-inst.cc
    trunk/libstdc++-v3/src/condition_variable.cc
    trunk/libstdc++-v3/src/ctype.cc
    trunk/libstdc++-v3/src/debug.cc
    trunk/libstdc++-v3/src/ext-inst.cc
    trunk/libstdc++-v3/src/fstream-inst.cc
    trunk/libstdc++-v3/src/functexcept.cc
    trunk/libstdc++-v3/src/functional.cc
    trunk/libstdc++-v3/src/future.cc
    trunk/libstdc++-v3/src/globals_io.cc
    trunk/libstdc++-v3/src/hash-long-double-tr1-aux.cc
    trunk/libstdc++-v3/src/hash_c++0x.cc
    trunk/libstdc++-v3/src/hash_tr1.cc
    trunk/libstdc++-v3/src/hashtable-aux.cc
    trunk/libstdc++-v3/src/hashtable_c++0x.cc
    trunk/libstdc++-v3/src/hashtable_tr1.cc
    trunk/libstdc++-v3/src/ios-inst.cc
    trunk/libstdc++-v3/src/ios.cc
    trunk/libstdc++-v3/src/ios_failure.cc
    trunk/libstdc++-v3/src/ios_init.cc
    trunk/libstdc++-v3/src/ios_locale.cc
    trunk/libstdc++-v3/src/iostream-inst.cc
    trunk/libstdc++-v3/src/istream-inst.cc
    trunk/libstdc++-v3/src/istream.cc
    trunk/libstdc++-v3/src/limits.cc
    trunk/libstdc++-v3/src/list.cc
    trunk/libstdc++-v3/src/locale-inst.cc
    trunk/libstdc++-v3/src/locale.cc
    trunk/libstdc++-v3/src/locale_facets.cc
    trunk/libstdc++-v3/src/locale_init.cc
    trunk/libstdc++-v3/src/localename.cc
    trunk/libstdc++-v3/src/math_stubs_float.cc
    trunk/libstdc++-v3/src/math_stubs_long_double.cc
    trunk/libstdc++-v3/src/misc-inst.cc
    trunk/libstdc++-v3/src/mt_allocator.cc
    trunk/libstdc++-v3/src/mutex.cc
    trunk/libstdc++-v3/src/ostream-inst.cc
    trunk/libstdc++-v3/src/parallel_settings.cc
    trunk/libstdc++-v3/src/placeholders.cc
    trunk/libstdc++-v3/src/pool_allocator.cc
    trunk/libstdc++-v3/src/regex.cc
    trunk/libstdc++-v3/src/shared_ptr.cc
    trunk/libstdc++-v3/src/sstream-inst.cc
    trunk/libstdc++-v3/src/stdexcept.cc
    trunk/libstdc++-v3/src/streambuf-inst.cc
    trunk/libstdc++-v3/src/streambuf.cc
    trunk/libstdc++-v3/src/string-inst.cc
    trunk/libstdc++-v3/src/strstream.cc
    trunk/libstdc++-v3/src/system_error.cc
    trunk/libstdc++-v3/src/thread.cc
    trunk/libstdc++-v3/src/tree.cc
    trunk/libstdc++-v3/src/valarray.cc
    trunk/libstdc++-v3/src/wlocale-inst.cc
    trunk/libstdc++-v3/src/wstring-inst.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/Makefile.am
    trunk/libstdc++-v3/Makefile.in
    trunk/libstdc++-v3/acinclude.m4
    trunk/libstdc++-v3/configure
    trunk/libstdc++-v3/configure.ac
    trunk/libstdc++-v3/doc/Makefile.in
    trunk/libstdc++-v3/include/Makefile.in
    trunk/libstdc++-v3/libsupc++/Makefile.am
    trunk/libstdc++-v3/libsupc++/Makefile.in
    trunk/libstdc++-v3/po/Makefile.in
    trunk/libstdc++-v3/python/Makefile.in
    trunk/libstdc++-v3/src/Makefile.am
    trunk/libstdc++-v3/src/Makefile.in
    trunk/libstdc++-v3/testsuite/Makefile.in


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (17 preceding siblings ...)
  2012-01-23 23:19 ` bkoz at gcc dot gnu.org
@ 2012-01-24  7:06 ` bkoz at gcc dot gnu.org
  2012-01-24  7:25 ` jan.kratochvil at redhat dot com
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-24  7:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #18 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-24 05:07:58 UTC ---
Mine


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (18 preceding siblings ...)
  2012-01-24  7:06 ` bkoz at gcc dot gnu.org
@ 2012-01-24  7:25 ` jan.kratochvil at redhat dot com
  2012-01-24 10:22 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jan.kratochvil at redhat dot com @ 2012-01-24  7:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #19 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2012-01-24 05:14:00 UTC ---
../gcchead/configure --enable-64-bit-bfd --disable-static --enable-shared
--enable-debug --disable-sim --enable-gold --enable-plugins --disable-werror
--with-separate-debug-dir=/usr/lib/debug --prefix=/PFX-root
--enable-languages=c,c++,fortran,java,ada
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
make -j12

gives now for r183464:

/bin/sh ../libtool --tag CXX   --mode=link
/home/jkratoch/redhat/gcchead-build/./gcc/xgcc -shared-libgcc [...] ; \
if test ! -f .libs/libstdc++.a; then \
  ln -s .libs/libstdc++convenience.a .libs/libstdc++.a; \
  stamp-libstdc++convenience; \
fi;
libtool: link: (cd .libs/libstdc++convenience.lax/libsupc++convenience.a && ar
x
"/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a")
libtool: link: (cd .libs/libstdc++convenience.lax/libc++98convenience.a && ar x
"/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../src/c++98/.libs/libc++98convenience.a")
libtool: link: (cd .libs/libstdc++convenience.lax/libc++11convenience.a && ar x
"/home/jkratoch/redhat/gcchead-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/../src/c++11/.libs/libc++11convenience.a")
libtool: link: ar rc .libs/libstdc++convenience.a  
.libs/libstdc++convenience.lax/libsupc++convenience.a/eh_catch.o [...]
libtool: link: ranlib .libs/libstdc++convenience.a
libtool: link: rm -fr .libs/libstdc++convenience.lax
libtool: link: ( cd ".libs" && rm -f "libstdc++convenience.la" && ln -s
"../libstdc++convenience.la" "libstdc++convenience.la" )
/bin/sh: line 3: stamp-libstdc++convenience: command not found
make[6]: *** [libstdc++convenience.la] Error 127


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (19 preceding siblings ...)
  2012-01-24  7:25 ` jan.kratochvil at redhat dot com
@ 2012-01-24 10:22 ` jakub at gcc dot gnu.org
  2012-01-24 10:39 ` jan.kratochvil at redhat dot com
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-24 10:22 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-24 10:12:51 UTC ---
Should be fixed now.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (20 preceding siblings ...)
  2012-01-24 10:22 ` jakub at gcc dot gnu.org
@ 2012-01-24 10:39 ` jan.kratochvil at redhat dot com
  2012-01-24 15:28 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jan.kratochvil at redhat dot com @ 2012-01-24 10:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #21 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2012-01-24 10:17:14 UTC ---
With r183465 it really builds for me now, thanks.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (21 preceding siblings ...)
  2012-01-24 10:39 ` jan.kratochvil at redhat dot com
@ 2012-01-24 15:28 ` jakub at gcc dot gnu.org
  2012-01-25 12:40 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-24 15:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-24 13:59:19 UTC ---
On powerpc64-linux apparently a few symbols are gone since yesterday:
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 OBJECT
GLOBAL DEFAULT 16
_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 16
_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 4
_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 4
in 32-bit libstdc++.so.6 and
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 OBJECT
GLOBAL DEFAULT 32
_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 32
_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 8
_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4 OBJECT GLOBAL DEFAULT 8
in 64-bit libstdc++.so.6.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (22 preceding siblings ...)
  2012-01-24 15:28 ` jakub at gcc dot gnu.org
@ 2012-01-25 12:40 ` jakub at gcc dot gnu.org
  2012-01-26 19:32 ` bkoz at gcc dot gnu.org
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-25 12:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-25 12:01:44 UTC ---
Actually, please scratch that.  I was using wrong abilist command line.
With:
readelf -Ws $1 | sed -n '/\.symtab/,$d;/ UND
/d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT")
{ printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s
%s\n", $8, $4, $5, $6 }}' | LC_ALL=C sort -u
it shows just that these symbols are now STB_GNU_UNIQUE while they were
previously STB_GLOBAL.  Not a bug therefore.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (23 preceding siblings ...)
  2012-01-25 12:40 ` jakub at gcc dot gnu.org
@ 2012-01-26 19:32 ` bkoz at gcc dot gnu.org
  2012-02-13  9:49 ` vbyakovl23 at gmail dot com
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2012-01-26 19:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Benjamin Kosnik <bkoz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot       |bkoz at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #24 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2012-01-26 16:42:14 UTC ---
Mine.

Still remaining are

1) update libstdc++ maintainer docs
2) --enable-debug fix


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (24 preceding siblings ...)
  2012-01-26 19:32 ` bkoz at gcc dot gnu.org
@ 2012-02-13  9:49 ` vbyakovl23 at gmail dot com
  2012-02-13 10:01 ` vbyakovl23 at gmail dot com
  2012-02-13 17:15 ` ian at airs dot com
  27 siblings, 0 replies; 29+ messages in thread
From: vbyakovl23 at gmail dot com @ 2012-02-13  9:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Vladimir Yakovlev <vbyakovl23 at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vbyakovl23 at gmail dot com

--- Comment #25 from Vladimir Yakovlev <vbyakovl23 at gmail dot com> 2012-02-13 09:49:09 UTC ---
We have performance degradation of 447.dealII benchspec 2006.It was happend
bcause thre are no inlining in a library routine from libstdc++-v3/src/tree.cc

const _Rb_tree_node_base*  _Rb_tree_increment(const _Rb_tree_node_base* __x)
throw ()
{    
return Rb_tree_increment(const_cast&lt;_Rb_tree_node_base*&gt;(_x));  }


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (25 preceding siblings ...)
  2012-02-13  9:49 ` vbyakovl23 at gmail dot com
@ 2012-02-13 10:01 ` vbyakovl23 at gmail dot com
  2012-02-13 17:15 ` ian at airs dot com
  27 siblings, 0 replies; 29+ messages in thread
From: vbyakovl23 at gmail dot com @ 2012-02-13 10:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #26 from Vladimir Yakovlev <vbyakovl23 at gmail dot com> 2012-02-13 09:59:31 UTC ---
We have performance degradation of 447.dealII benchspec 2006.It was happened
because there are no inlining a library routine '_Rb_tree_node_base' from
libstdc++-v3/src/tree.cc

const _Rb_tree_node_base*  _Rb_tree_increment(const _Rb_tree_node_base* __x)
throw ()
{    
  return Rb_tree_increment(const_cast&lt;_Rb_tree_node_base*&gt;(_x));
}

I found out that the degradation is caused by absence of -fPIC flag in
compilation command line. If I add the flag to command line the inlining is
happened.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++
  2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
                   ` (26 preceding siblings ...)
  2012-02-13 10:01 ` vbyakovl23 at gmail dot com
@ 2012-02-13 17:15 ` ian at airs dot com
  27 siblings, 0 replies; 29+ messages in thread
From: ian at airs dot com @ 2012-02-13 17:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

--- Comment #27 from Ian Lance Taylor <ian at airs dot com> 2012-02-13 17:12:57 UTC ---
Vladimir: if you want to report this problem, please open a new bug report. 
Please do not tag on to this unrelated bug report.  Thanks.


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2012-02-13 17:15 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-24 19:11 [Bug other/49829] New: --disable-static --enable-shared regression: cannot find -lstdc++ jan.kratochvil at redhat dot com
2011-07-25  9:13 ` [Bug bootstrap/49829] [4.7 Regression] " rguenth at gcc dot gnu.org
2011-07-25 17:53 ` ian at airs dot com
2011-08-02 14:47 ` rguenth at gcc dot gnu.org
2012-01-03 12:37 ` jakub at gcc dot gnu.org
2012-01-03 13:07 ` bonzini at gnu dot org
2012-01-19  9:09 ` bkoz at gcc dot gnu.org
2012-01-19  9:15 ` bkoz at gcc dot gnu.org
2012-01-19  9:24 ` bonzini at gnu dot org
2012-01-19  9:29 ` bkoz at gcc dot gnu.org
2012-01-19 16:14 ` bkoz at gcc dot gnu.org
2012-01-19 17:07 ` bkoz at gcc dot gnu.org
2012-01-20  3:41 ` bkoz at gcc dot gnu.org
2012-01-20  8:15 ` bonzini at gnu dot org
2012-01-20  9:51 ` jakub at gcc dot gnu.org
2012-01-20 22:47 ` bkoz at gcc dot gnu.org
2012-01-20 23:57 ` jakub at gcc dot gnu.org
2012-01-23 23:02 ` bkoz at gcc dot gnu.org
2012-01-23 23:19 ` bkoz at gcc dot gnu.org
2012-01-24  7:06 ` bkoz at gcc dot gnu.org
2012-01-24  7:25 ` jan.kratochvil at redhat dot com
2012-01-24 10:22 ` jakub at gcc dot gnu.org
2012-01-24 10:39 ` jan.kratochvil at redhat dot com
2012-01-24 15:28 ` jakub at gcc dot gnu.org
2012-01-25 12:40 ` jakub at gcc dot gnu.org
2012-01-26 19:32 ` bkoz at gcc dot gnu.org
2012-02-13  9:49 ` vbyakovl23 at gmail dot com
2012-02-13 10:01 ` vbyakovl23 at gmail dot com
2012-02-13 17:15 ` ian at airs dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).