This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/66019] New: Corrupt libstdc++ on AIX 6.1


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66019

            Bug ID: 66019
           Summary: Corrupt libstdc++ on AIX 6.1
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: joerg.richter@pdv-fs.de
  Target Milestone: ---
              Host: powerpc-ibm-aix6.1.0.0
            Target: powerpc-ibm-aix6.1.0.0
             Build: powerpc-ibm-aix6.1.0.0

I am building GCC 4.9.2 on AIX 6.1 with the same script I used for AIX 5.3.

$ configure --enable-languages=c,c++ --disable-bootstrap --disable-nls
--with-local-prefix=/not_existing_directory --enable-frame-pointer
--with-ld=/bin/ld --with-as=/bin/as --prefix=/tools/pkg/gcc/4.9.2

make && make install

During build of GCC are a lot of warnings like this:

ld: 0711-768 WARNING: Object
../src/c++98/.libs/libc++98convenience.a[locale-inst.o], section 1, function
.std::istreambuf_iterator<char, std::char_traits<char> >::_M_get() const:
        The branch at address 0x15534 is not followed by a recognized no-op
        or TOC-reload instruction. The unrecognized instruction is 0x8D3C0001.

There are 3728 ld 0711-768 warnings.  On AIX 5.3 there are no warnings using
the same script.

Nevertheless GCC builds without errors.

But when compiling and running application code that calles
std::istreambuf_iterator<char>::_M_get() 
the process termines with SIGSEGV or SIGILL.

Here is a gdb/bt of a crashed process:

#0  0x0900000002edc554 in std::istreambuf_iterator<char, std::char_traits<char>
>::_M_get ()
   from libstdc++.a(libstdc++.so.6)
#1  0x0900000002e6dce4 in std::istreambuf_iterator<char, std::char_traits<char>
> std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
>::_M_extract_int<unsigned int>(std::istreambuf_iterator<char,
std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char>
>, std::ios_base&, std::_Ios_Iostate&, unsigned int&) const [clone
.localalias.77] () from libstdc++.a(libstdc++.so.6)
#2  0x0900000002e6db6c in std::num_get<char, std::istreambuf_iterator<char,
std::char_traits<char> > >::do_get(std::istreambuf_iterator<char,
std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char>
>, std::ios_base&, std::_Ios_Iostate&, unsigned int&) const [clone
.localalias.236] ()
   from libstdc++.a(libstdc++.so.6)
#3  0x0900000002e92658 in std::istream& std::istream::_M_extract<unsigned
int>(unsigned int&) [clone .localalias.69] ()
   from libstdc++.a(libstdc++.so.6)

Searching for ld: 0711-768 seem to indicate that this warnings should not be
ignored.

The error might be related to some missing GNU-tool.  The 6.1 machine is not
using the same 
GNU tools like the 5.3 maschine.  I know that GCC does not build with
AIX-sed/awk.  Might 
be that I missed another GNU tool that will fix this problem.  But I have no
idea what it can be.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]