public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
@ 2012-04-06 15:38 skunk at iskunk dot org
  2012-04-10  9:13 ` [Bug bootstrap/52887] " redi at gcc dot gnu.org
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-04-06 15:38 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 52887
           Summary: Bootstrap on AIX failure: Undefined symbol:
                    .std::function<void (std::__regex::_PatternCursor
                    const&,
                    std::__regex::_Results&)>::function(std::function<void
                    (std::__regex::_PatternCursor const&,
                    std::__regex::_Results&)> const&)
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: skunk@iskunk.org
              Host: powerpc-ibm-aix5.3.0.0
            Target: powerpc-ibm-aix5.3.0.0
             Build: powerpc-ibm-aix5.3.0.0


Bootstrapping GCC 4.7.0 on an AIX 5.3 system fails with

/tmp/gcc-4.7.0-build/./prev-gcc/g++ -B/tmp/gcc-4.7.0-build/./prev-gcc/
-B/opt/tg/powerpc-ibm-aix5.3.0.0/bin/ -nostdinc++
-B/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs
-B/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/libsupc++/.libs
-I/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/powerpc-ibm-aix5.3.0.0
-I/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/include
-I/home/src/gcc-4.7.0/libstdc++-v3/libsupc++
-L/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs
-L/tmp/gcc-4.7.0-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/libsupc++/.libs
  -g -O2 -DIN_GCC   -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-static-libstdc++ -static-libgcc -Wl,-bbigtoc -Wl,-bmaxdata:0x40000000 -o cc1
c-lang.o c-family/stub-objc.o attribs.o c-errors.o c-decl.o c-typeck.o
c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.o
c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o
c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o
c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o
c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o
default-c.o rs6000-c.o \
          cc1-checksum.o main.o  libbackend.a libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a
../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   
-L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lmpc -lmpfr -lgmp  
-L../zlib -lz
ld: 0711-317 ERROR: Undefined symbol: .std::function<void
(std::__regex::_PatternCursor const&,
std::__regex::_Results&)>::function(std::function<void
(std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::function<bool
(std::__regex::_PatternCursor const&)>::function(std::function<bool
(std::__regex::_PatternCursor const&)> const&)
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
gmake[3]: *** [cc1] Error 1
gmake[3]: Leaving directory `/tmp/gcc-4.7.0-build/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2
gmake[2]: Leaving directory `/tmp/gcc-4.7.0-build'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gcc-4.7.0-build'
gmake: *** [bootstrap-lean] Error 2


The build tree was configured with

'--prefix=/opt/tg' '--disable-dependency-tracking' '--disable-maintainer-mode'
'--program-prefix=tg-' '--disable-shared' '--disable-nls'
'--enable-version-specific-runtime-libs' '--with-pic' '--with-mpc=/usr/local'
'--with-mpfr=/usr/local' '--with-gmp=/usr/local' 'CC=tg-gcc -mminimal-toc'
'CXX=false' '--enable-languages=c,c++'


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
@ 2012-04-10  9:13 ` redi at gcc dot gnu.org
  2012-05-10 14:39 ` skunk at iskunk dot org
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-04-10  9:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-04-10 09:12:39 UTC ---
we might need an explicit instantiation of that type in libstdc++.so, I'll
investigate


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
  2012-04-10  9:13 ` [Bug bootstrap/52887] " redi at gcc dot gnu.org
@ 2012-05-10 14:39 ` skunk at iskunk dot org
  2012-05-10 15:04 ` redi at gcc dot gnu.org
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-05-10 14:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Daniel Richard G. <skunk at iskunk dot org> 2012-05-10 13:54:12 UTC ---
I can avoid this error during bootstrap by configuring with
--disable-build-poststage1-with-cxx, but then I get the same link error when
building regular C++ programs with the newly-built compiler.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
  2012-04-10  9:13 ` [Bug bootstrap/52887] " redi at gcc dot gnu.org
  2012-05-10 14:39 ` skunk at iskunk dot org
@ 2012-05-10 15:04 ` redi at gcc dot gnu.org
  2012-05-10 15:52 ` skunk at iskunk dot org
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-05-10 15:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-10 14:57:02 UTC ---
does adding this instantiation to libstdc++-v3/src/c++11/regex.cc help?


--- r    2012-05-10 16:56:35.252128466 +0200
+++ regex.cc    2012-05-10 16:56:39.412128415 +0200
@@ -34,5 +34,7 @@

   regex_error::~regex_error() throw() { }

+  template class function<void (__regex::_PatternCursor const&,
__regex::_Results&)>;
+
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (2 preceding siblings ...)
  2012-05-10 15:04 ` redi at gcc dot gnu.org
@ 2012-05-10 15:52 ` skunk at iskunk dot org
  2012-05-10 22:14 ` skunk at iskunk dot org
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-05-10 15:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Daniel Richard G. <skunk at iskunk dot org> 2012-05-10 15:04:22 UTC ---
Created attachment 27364
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27364
Workaround to provide the two missing symbols

I needed a working 4.7.0, and don't use the STL, so I put together a small
workaround for this bug. Compile this source file, and add the object to the
appropriate libstdc++.a library. More details in the file.

(Note that I build GCC with --disable-shared; "fixing" a shared libstdc++ would
be a bit more involved)


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (3 preceding siblings ...)
  2012-05-10 15:52 ` skunk at iskunk dot org
@ 2012-05-10 22:14 ` skunk at iskunk dot org
  2012-05-11 17:09 ` skunk at iskunk dot org
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-05-10 22:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Daniel Richard G. <skunk at iskunk dot org> 2012-05-10 22:04:26 UTC ---
(In reply to comment #3)
> does adding this instantiation to libstdc++-v3/src/c++11/regex.cc help?

Apologies Jonathan, I didn't see your comment before submitting my attachment.

Preliminary results are that the instantiation allows the link to proceed. This
was in a tree where the error had already occurred, however, so not the best
test. I've started a new build, with the change in from the beginning, that
should hopefully answer the question definitively by tomorrow.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (4 preceding siblings ...)
  2012-05-10 22:14 ` skunk at iskunk dot org
@ 2012-05-11 17:09 ` skunk at iskunk dot org
  2012-05-11 18:39 ` redi at gcc dot gnu.org
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-05-11 17:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Daniel Richard G. <skunk at iskunk dot org> 2012-05-11 17:05:57 UTC ---
With the new build, I now see one missing symbol instead of two. (Not sure why
the earlier hacked build went through):

gmake[3]: Entering directory `/tmp/gcc-4.7.0/_build/gcc'
/tmp/gcc-4.7.0/_build/./prev-gcc/g++ -B/tmp/gcc-4.7.0/_build/./prev-gcc/
-B/opt/tg/powerpc-ibm-aix5.3.0.0/bin/ -nostdinc++
-B/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs
-B/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/libsupc++/.libs
-I/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/include/powerpc-ibm-aix5.3.0.0
-I/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/include
-I/tmp/gcc-4.7.0/libstdc++-v3/libsupc++
-L/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs
-L/tmp/gcc-4.7.0/_build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/libsupc++/.libs
  -g -O2 -DIN_GCC   -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
-static-libstdc++ -static-libgcc -Wl,-bbigtoc -Wl,-bmaxdata:0x40000000 -o cc1
c-lang.o c-family/stub-objc.o attribs.o c-errors.o c-decl.o c-typeck.o
c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.o
c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o
c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o
c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o
c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o
default-c.o rs6000-c.o \
          cc1-checksum.o main.o  libbackend.a libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a
../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   
-L/tg/freeport/arch/aix64/lib -L/tg/freeport/arch/aix64/lib
-L/tg/freeport/arch/aix64/lib -lmpc -lmpfr -lgmp   -L../zlib -lz
ld: 0711-317 ERROR: Undefined symbol: .std::function<bool
(std::__regex::_PatternCursor const&)>::function(std::function<bool
(std::__regex::_PatternCursor const&)> const&)
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
gmake[3]: *** [cc1] Error 1
gmake[3]: Leaving directory `/tmp/gcc-4.7.0/_build/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2
gmake[2]: Leaving directory `/tmp/gcc-4.7.0/_build'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gcc-4.7.0/_build'
gmake: *** [bootstrap] Error 2


Perhaps one more instantiation is needed?


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (5 preceding siblings ...)
  2012-05-11 17:09 ` skunk at iskunk dot org
@ 2012-05-11 18:39 ` redi at gcc dot gnu.org
  2012-05-12  5:37 ` skunk at iskunk dot org
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-05-11 18:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-11 18:34:59 UTC ---
Looks as though it also needs

template class function<bool (__regex::_PatternCursor const&)>;


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (6 preceding siblings ...)
  2012-05-11 18:39 ` redi at gcc dot gnu.org
@ 2012-05-12  5:37 ` skunk at iskunk dot org
  2012-05-12  9:15 ` paolo.carlini at oracle dot com
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-05-12  5:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Daniel Richard G. <skunk at iskunk dot org> 2012-05-12 05:09:15 UTC ---
(In reply to comment #7)
> Looks as though it also needs
> template class function<bool (__regex::_PatternCursor const&)>;

I added that, and with the two instantiations, bootstrap completes
successfully.

(I don't suppose that's the fix, however, given that other systems don't need
this...)


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (7 preceding siblings ...)
  2012-05-12  5:37 ` skunk at iskunk dot org
@ 2012-05-12  9:15 ` paolo.carlini at oracle dot com
  2012-06-18  9:44 ` joerg.richter@pdv-fs.de
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-05-12  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-05-12 08:35:05 UTC ---
AIX used to be even more special about this...


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (8 preceding siblings ...)
  2012-05-12  9:15 ` paolo.carlini at oracle dot com
@ 2012-06-18  9:44 ` joerg.richter@pdv-fs.de
  2012-06-18 15:26 ` redi at gcc dot gnu.org
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: joerg.richter@pdv-fs.de @ 2012-06-18  9:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from joerg.richter@pdv-fs.de 2012-06-18 09:44:30 UTC ---
Created attachment 27649
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27649
Fix for undefined references

Patch for 4.7.1 with the two missing instantiations.
Works for me.  Not tested with GCC testsuite.
Please consider this for 4.7.2


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (9 preceding siblings ...)
  2012-06-18  9:44 ` joerg.richter@pdv-fs.de
@ 2012-06-18 15:26 ` redi at gcc dot gnu.org
  2012-06-18 16:57 ` skunk at iskunk dot org
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-06-18 15:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-18 15:26:03 UTC ---
We know the instantiations that are needed, but I don't want to define them for
all platforms if they're not needed elsewhere. I also have no way of testing on
AIX, so someone needs to run the teststuite with the changes.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (10 preceding siblings ...)
  2012-06-18 15:26 ` redi at gcc dot gnu.org
@ 2012-06-18 16:57 ` skunk at iskunk dot org
  2012-06-19 23:21 ` dje at gcc dot gnu.org
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-06-18 16:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Daniel Richard G. <skunk at iskunk dot org> 2012-06-18 16:56:42 UTC ---
(In reply to comment #11)
> We know the instantiations that are needed, but I don't want to define them for
> all platforms if they're not needed elsewhere. I also have no way of testing on
> AIX, so someone needs to run the teststuite with the changes.

I can do the testing, but is this really the solution? Why would AIX (and not
even all versions of AIX) need these instantiations, how is it doing things
differently from other systems?

This is fine as a workaround, but I'm presuming the real fix is to get GCC on
AIX working again the same way as it does elsewhere.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (11 preceding siblings ...)
  2012-06-18 16:57 ` skunk at iskunk dot org
@ 2012-06-19 23:21 ` dje at gcc dot gnu.org
  2012-06-20  1:36 ` redi at gcc dot gnu.org
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: dje at gcc dot gnu.org @ 2012-06-19 23:21 UTC (permalink / raw)
  To: gcc-bugs

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

David Edelsohn <dje at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-06-19
                 CC|                            |dje at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #13 from David Edelsohn <dje at gcc dot gnu.org> 2012-06-19 23:21:27 UTC ---
I successfully bootstrap on AIX 5.3 multiple times per week with the need of
the additional instantiations. This may be due to different versions of the AIX
assembler. The system I am using has bos.adt.base level 5.3.7.0 installed. I
also do not use many of the additional configure options.

--disable-shared probably is a bad choice.

The file format used on AIX is XCOFF. The file format used on most other
systems is ELF. ELF provides a richer set of features for symbols and sections
that GCC implicitly assumes to support C++ features.

Additionally, SVR4/ELF semantics allows linkers to play a little more "fast and
loose". Basically, SVR4/ELF lazy binding allows libraries to omit symbol
definitions if they never are used. I suspect that the instantiations that
Jonathan is adding truly are needed and should be defined for all systems, but
the other systems silently ignore the error.

And this probably works on my builds of AIX because I build shared libraries
with an option for SVR4-like semantics that allows link-time errors during
shared library creation.

So the real answer probably is that the instantiations are necessary and
libstdc++ really has a latent bug that is not visible on other systems.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (12 preceding siblings ...)
  2012-06-19 23:21 ` dje at gcc dot gnu.org
@ 2012-06-20  1:36 ` redi at gcc dot gnu.org
  2012-06-20  4:11 ` skunk at iskunk dot org
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-06-20  1:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-20 01:35:58 UTC ---
OK, I'll deal with it asap.  I have quite a queue of patches to test and commit
at present though.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (13 preceding siblings ...)
  2012-06-20  1:36 ` redi at gcc dot gnu.org
@ 2012-06-20  4:11 ` skunk at iskunk dot org
  2012-06-20  8:50 ` redi at gcc dot gnu.org
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-06-20  4:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Daniel Richard G. <skunk at iskunk dot org> 2012-06-20 04:10:28 UTC ---
David, thank you for commenting; I have a better appreciation now of how AIX is
a different animal from most, and indeed may be doing things more correctly
than other systems on this one point.

I'd also like to bring attention to a seemingly similar issue I've encountered
when bootstrapping on AIX 4.3:

    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53238#c11

That one is less straightforward, however, because (as reported a couple
comments further down) it only occurs when bootstrapping. If I build GCC with a
C-only GCC of the same version and --disable-bootstrap, there's no error.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (14 preceding siblings ...)
  2012-06-20  4:11 ` skunk at iskunk dot org
@ 2012-06-20  8:50 ` redi at gcc dot gnu.org
  2012-06-20 13:25 ` dje at gcc dot gnu.org
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-06-20  8:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-20 08:50:25 UTC ---
Whether or not it's more correct, the <regex> code is non-functional and so
needing to add symbols to the .so to support broken code noone uses or can use
is rather unfortunate.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (15 preceding siblings ...)
  2012-06-20  8:50 ` redi at gcc dot gnu.org
@ 2012-06-20 13:25 ` dje at gcc dot gnu.org
  2012-06-20 21:15 ` dje at gcc dot gnu.org
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: dje at gcc dot gnu.org @ 2012-06-20 13:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from David Edelsohn <dje at gcc dot gnu.org> 2012-06-20 13:25:31 UTC ---
Another feature of AIX is its garbage-collecting linker. The very first
implementation of GCC for AIX was forced to emit an extra symbol to tie the
text section to the data section to prevent the linker from garbage collecting
a related section that did not have an obvious reference. This introduces an
extra dependency and may pull in unreferenced data sections from object files.
libstdc++ is built with --function-sections and --data-sections, which should
minimize this, but, again, if an application is relying upon the linker to
ignore missing definitions of symbols, it may behave differently on AIX.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (16 preceding siblings ...)
  2012-06-20 13:25 ` dje at gcc dot gnu.org
@ 2012-06-20 21:15 ` dje at gcc dot gnu.org
  2012-06-21  6:58 ` joerg.richter@pdv-fs.de
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: dje at gcc dot gnu.org @ 2012-06-20 21:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from David Edelsohn <dje at gcc dot gnu.org> 2012-06-20 21:14:36 UTC ---
Strangely, someone else is reporting a runtime error with the same symbol:

exec(): 0509-036 Cannot load program a.out because of the following errors:
rtld: 0712-001 Symbol
_ZNSt8functionIFvRKNSt7__regex14_PatternCursorERNS0_8_ResultsEEEC1ERKS7_
was referenced from module
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.7.1/ppc64/libstdc++.a(libstdc++.so.6),
but a runtime definition of the symbol was not found.
rtld: 0712-001 Symbol
_ZNSt8functionIFbRKNSt7__regex14_PatternCursorEEEC1ERKS5_ was
referenced from module
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.7.1/ppc64/libstdc++.a(libstdc++.so.6),
but a runtime definition of the symbol was not found.
rtld: 0712-002 fatal error: exiting.

Maybe the <regex> code is non-functional, but *something* is referencing the
symbol under certain circumstances. The kludge patch fixes it, so the missing
instantiation is a problem. In the shared library case, if the symbol really is
referenced, I don't know how this is working on GNU/Linux.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (17 preceding siblings ...)
  2012-06-20 21:15 ` dje at gcc dot gnu.org
@ 2012-06-21  6:58 ` joerg.richter@pdv-fs.de
  2012-06-21  8:24 ` redi at gcc dot gnu.org
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: joerg.richter@pdv-fs.de @ 2012-06-21  6:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from Jörg Richter <joerg.richter@pdv-fs.de> 2012-06-21 06:58:13 UTC ---
See also bug 53713.  Hasn't been marked as a dup yet.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (18 preceding siblings ...)
  2012-06-21  6:58 ` joerg.richter@pdv-fs.de
@ 2012-06-21  8:24 ` redi at gcc dot gnu.org
  2012-07-25  3:19 ` skunk at iskunk dot org
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2012-06-21  8:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #20 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-21 08:23:56 UTC ---
*** Bug 53713 has been marked as a duplicate of this bug. ***


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (19 preceding siblings ...)
  2012-06-21  8:24 ` redi at gcc dot gnu.org
@ 2012-07-25  3:19 ` skunk at iskunk dot org
  2012-09-14  7:58 ` joerg.richter@pdv-fs.de
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: skunk at iskunk dot org @ 2012-07-25  3:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #21 from Daniel Richard G. <skunk at iskunk dot org> 2012-07-25 03:18:32 UTC ---
(In reply to comment #18)
> Maybe the <regex> code is non-functional, but *something* is referencing the
> symbol under certain circumstances.

I figure this is a question worth answering. Repeating the failed link with
-Wl,-bnoquiet gives some helpful information:

ld: 0711-318 ERROR: Undefined symbols were found.
        The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR
Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing
Symbol

----------------------------------------------------------------------------------------------
 .std::function<void (std::__regex::_PatternCursor const&,
std::__regex::_Results&)>::function(std::function<void
(std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) [146]  
ER PR
/home/src/gcc-4.7.1/libstdc++-v3/src/c++11/regex.cc(/tmp/gcc-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a[regex.o])
                                   00002918 .text    R_RBR    [3582] 
.std::__regex::_State::_State(std::__regex::_State const&)
 .std::function<void (std::__regex::_PatternCursor const&,
std::__regex::_Results&)>::function(std::function<void
(std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) [276]  
ER PR
/home/src/gcc-4.7.1/libstdc++-v3/src/c++11/functexcept.cc(/tmp/gcc-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a[functexcept.o])
                                   00003e18 .text    R_RBR    [4312] 
.std::__regex::_State::_State(std::__regex::_State const&)
 .std::function<bool (std::__regex::_PatternCursor
const&)>::function(std::function<bool (std::__regex::_PatternCursor const&)>
const&) [148]   ER PR
/home/src/gcc-4.7.1/libstdc++-v3/src/c++11/regex.cc(/tmp/gcc-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a[regex.o])
                                   00002938 .text    R_RBR    [3582] 
.std::__regex::_State::_State(std::__regex::_State const&)
 .std::function<bool (std::__regex::_PatternCursor
const&)>::function(std::function<bool (std::__regex::_PatternCursor const&)>
const&) [278]   ER PR
/home/src/gcc-4.7.1/libstdc++-v3/src/c++11/functexcept.cc(/tmp/gcc-build/prev-powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a[functexcept.o])
                                   00003e38 .text    R_RBR    [4312] 
.std::__regex::_State::_State(std::__regex::_State const&)
ER: The return code is 8.
ld: 0711-317 ERROR: Undefined symbol: .std::function<void
(std::__regex::_PatternCursor const&,
std::__regex::_Results&)>::function(std::function<void
(std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
ld: 0711-317 ERROR: Undefined symbol: .std::function<bool
(std::__regex::_PatternCursor const&)>::function(std::function<bool
(std::__regex::_PatternCursor const&)> const&)
collect2: error: ld returned 8 exit status


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (20 preceding siblings ...)
  2012-07-25  3:19 ` skunk at iskunk dot org
@ 2012-09-14  7:58 ` joerg.richter@pdv-fs.de
  2012-09-16  2:37 ` dje at gcc dot gnu.org
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: joerg.richter@pdv-fs.de @ 2012-09-14  7:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #22 from Jörg Richter <joerg.richter@pdv-fs.de> 2012-09-14 07:58:16 UTC ---
I have reduced a real live case. But still using <vector>.

$ cat t.cc
#include <vector>
struct ClassicUpdate
{
    ClassicUpdate();
};
typedef std::vector<ClassicUpdate> ClassicUpdates;
struct UpdateData
{
    ClassicUpdates classicUpdates;

    UpdateData( ClassicUpdates const& classicUpdates )
      : classicUpdates( classicUpdates )
    {}
};
int main()
{}

$ g++ -std=gnu++0x -o mm t.cc -save-temps

$ grep Construct.*ClassicUpdate *.s
        .weak   _ZSt10_ConstructI13ClassicUpdateIRKS0_EEvPT_DpOT0_[DS]
  ...

This should demostrate that GCC compiles a symbol referencing ClassicUpdate
into the executable. When the AIX linker decides to use that symbol you get 
an undefined reference error. This is not the case here. But the unreduced 
source has the problem.

GCC 4.6.3 doesn't do this. And removing -std=gnu++0x works too.

So it seems this is not regex-related but a deeper bug in GCC 4.7 that emits 
functions that are never called.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (21 preceding siblings ...)
  2012-09-14  7:58 ` joerg.richter@pdv-fs.de
@ 2012-09-16  2:37 ` dje at gcc dot gnu.org
  2012-11-21  8:03 ` gilles.pion at gmail dot com
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: dje at gcc dot gnu.org @ 2012-09-16  2:37 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #23 from David Edelsohn <dje at gcc dot gnu.org> 2012-09-16 02:36:27 UTC ---
I do not see the extraneous symbols using the example in comment #22 when
compiling with trunk.  Also, the example G++ invocation does not enable any
optimizations.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (22 preceding siblings ...)
  2012-09-16  2:37 ` dje at gcc dot gnu.org
@ 2012-11-21  8:03 ` gilles.pion at gmail dot com
  2012-11-26  2:50 ` dje at gcc dot gnu.org
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: gilles.pion at gmail dot com @ 2012-11-21  8:03 UTC (permalink / raw)
  To: gcc-bugs


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

Gilles Pion <gilles.pion at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gilles.pion at gmail dot
                   |                            |com

--- Comment #24 from Gilles Pion <gilles.pion at gmail dot com> 2012-11-21 08:02:41 UTC ---
I have the exact same problem on AIX 5.3 trying to bootstrat GCC but with
version 4.7.2. in my case

I have to admit that I don't understand all the issues described here but since
I've been able to bootstrap 7.2.1 without any problem I'm a bit surprised.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (23 preceding siblings ...)
  2012-11-21  8:03 ` gilles.pion at gmail dot com
@ 2012-11-26  2:50 ` dje at gcc dot gnu.org
  2013-01-17  1:40 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: dje at gcc dot gnu.org @ 2012-11-26  2:50 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #25 from David Edelsohn <dje at gcc dot gnu.org> 2012-11-26 02:50:22 UTC ---
The instantiations definitely should be in libstdc++-v3/src/c++11/regex.cc in
the GCC 4.7 release branch.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (24 preceding siblings ...)
  2012-11-26  2:50 ` dje at gcc dot gnu.org
@ 2013-01-17  1:40 ` redi at gcc dot gnu.org
  2013-01-17  1:41 ` redi at gcc dot gnu.org
  2013-02-11 23:54 ` bkoz at gcc dot gnu.org
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2013-01-17  1:40 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #26 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-01-17 01:39:52 UTC ---
Author: redi
Date: Thu Jan 17 01:39:46 2013
New Revision: 195258

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195258
Log:
    PR libstdc++/52887
    * src/c++11/regex.cc: Add instantiations for AIX.

Modified:
    branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/regex.cc


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (25 preceding siblings ...)
  2013-01-17  1:40 ` redi at gcc dot gnu.org
@ 2013-01-17  1:41 ` redi at gcc dot gnu.org
  2013-02-11 23:54 ` bkoz at gcc dot gnu.org
  27 siblings, 0 replies; 29+ messages in thread
From: redi at gcc dot gnu.org @ 2013-01-17  1:41 UTC (permalink / raw)
  To: gcc-bugs


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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.3

--- Comment #27 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-01-17 01:41:06 UTC ---
Should be fixed, please reopen if not.


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

* [Bug bootstrap/52887] Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&)
  2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
                   ` (26 preceding siblings ...)
  2013-01-17  1:41 ` redi at gcc dot gnu.org
@ 2013-02-11 23:54 ` bkoz at gcc dot gnu.org
  27 siblings, 0 replies; 29+ messages in thread
From: bkoz at gcc dot gnu.org @ 2013-02-11 23:54 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkoz at gcc dot gnu.org,
                   |                            |bkoz at redhat dot com

--- Comment #28 from Benjamin Kosnik <bkoz at gcc dot gnu.org> 2013-02-11 23:53:30 UTC ---

FWIW, I think the real fix here is to compile regex.cc with
-fimplicit-templates. I suspect that different things are being inlined on AIX
than on linux/ELF, there is an assumed implicit instantiation on AIX for this
symbol that is currently being supressed via -fno-implicit-templates.


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

end of thread, other threads:[~2013-02-11 23:54 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-06 15:38 [Bug bootstrap/52887] New: Bootstrap on AIX failure: Undefined symbol: .std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)>::function(std::function<void (std::__regex::_PatternCursor const&, std::__regex::_Results&)> const&) skunk at iskunk dot org
2012-04-10  9:13 ` [Bug bootstrap/52887] " redi at gcc dot gnu.org
2012-05-10 14:39 ` skunk at iskunk dot org
2012-05-10 15:04 ` redi at gcc dot gnu.org
2012-05-10 15:52 ` skunk at iskunk dot org
2012-05-10 22:14 ` skunk at iskunk dot org
2012-05-11 17:09 ` skunk at iskunk dot org
2012-05-11 18:39 ` redi at gcc dot gnu.org
2012-05-12  5:37 ` skunk at iskunk dot org
2012-05-12  9:15 ` paolo.carlini at oracle dot com
2012-06-18  9:44 ` joerg.richter@pdv-fs.de
2012-06-18 15:26 ` redi at gcc dot gnu.org
2012-06-18 16:57 ` skunk at iskunk dot org
2012-06-19 23:21 ` dje at gcc dot gnu.org
2012-06-20  1:36 ` redi at gcc dot gnu.org
2012-06-20  4:11 ` skunk at iskunk dot org
2012-06-20  8:50 ` redi at gcc dot gnu.org
2012-06-20 13:25 ` dje at gcc dot gnu.org
2012-06-20 21:15 ` dje at gcc dot gnu.org
2012-06-21  6:58 ` joerg.richter@pdv-fs.de
2012-06-21  8:24 ` redi at gcc dot gnu.org
2012-07-25  3:19 ` skunk at iskunk dot org
2012-09-14  7:58 ` joerg.richter@pdv-fs.de
2012-09-16  2:37 ` dje at gcc dot gnu.org
2012-11-21  8:03 ` gilles.pion at gmail dot com
2012-11-26  2:50 ` dje at gcc dot gnu.org
2013-01-17  1:40 ` redi at gcc dot gnu.org
2013-01-17  1:41 ` redi at gcc dot gnu.org
2013-02-11 23:54 ` bkoz at gcc dot gnu.org

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).