On Tue, Sep 10, 2013 at 9:10 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Tue, Sep 10, 2013 at 08:55:35AM -0700, Caroline Tice wrote: >> Based on the errors you are reporting, my guess is that you did not >> configure with --enable-vtable-verifiy. The testsuite in libvtv will > > I'm not, but it doesn't make sense if you don't configure gcc in certain > non-default way, you get dozens of FAILs during the make check. > If libvtv doesn't work at all without --enable-vtable-verify, perhaps it > shouldn't be built, or at least make check shouldn't be run?
I didn't realize the testsuite in libvtv would be run unless explicitly requested. I agree that there should be a test to see whether --enable-vtable-verify was set before attempting to run the libvtv testsuite. This is not my area of expertise and if someone could point me to an example or show me where/how to put such a conditional test, I would appreciate it. > Does --enable-vtable-verify affect anything but the 4 extra objects built in > libgcc subdir that aren't actually linked into libgcc / libgcc_s? > --enable-vtable-verify also affects how libstdc++ is built. That is for sure what is causing the error you are seeing below. That particular test case (template-list-iostream) tests whether a particular libstdc++ class passes verification. If libstdc++ was not built with vtable verification, then it will fail exactly as shown below. >> I have never seen that; if you could forward the complaints/errors to >> me I would appreciate it. > > E.g. > Running /usr/src/gcc/libvtv/testsuite/libvtv.cc/vtv.exp ... > *** Potential vtable pointer corruption detected!! > ***: ./template-list-iostream.exe terminated > ======= Backtrace: ========= > /lib64/libc.so.6(__fortify_fail+0x37)[0x7f2cda8134d7] > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/./libvtv/.libs/libvtv.so.0(+0x3289)[0x7f2cdb2dd289] > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/./libvtv/.libs/libvtv.so.0(+0x338f)[0x7f2cdb2dd38f] > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/./libvtv/.libs/libvtv.so.0(_Z24__VLTVerifyVtablePointerPPvPKv+0xb0)[0x7f2cdb2dd570] > ./template-list-iostream.exe[0x4012c2] > ./template-list-iostream.exe[0x401366] > /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f2cda72b735] > ./template-list-iostream.exe[0x401131] > ======= Memory map: ======== > 00400000-00404000 r-xp 00000000 fd:02 18150808 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/testsuite/template-list-iostream.exe > 00603000-00604000 rw-p 00003000 fd:02 18150808 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/testsuite/template-list-iostream.exe > 00604000-00605000 r--p 00004000 fd:02 18150808 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/testsuite/template-list-iostream.exe > 00605000-00606000 rw-p 00005000 fd:02 18150808 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/testsuite/template-list-iostream.exe > 01867000-01888000 rw-p 00000000 00:00 0 > [heap] > 7f2cda70a000-7f2cda8b6000 r-xp 00000000 fd:00 2884204 > /usr/lib64/libc-2.15.so > 7f2cda8b6000-7f2cdaab6000 ---p 001ac000 fd:00 2884204 > /usr/lib64/libc-2.15.so > 7f2cdaab6000-7f2cdaaba000 r--p 001ac000 fd:00 2884204 > /usr/lib64/libc-2.15.so > 7f2cdaaba000-7f2cdaabc000 rw-p 001b0000 fd:00 2884204 > /usr/lib64/libc-2.15.so > 7f2cdaabc000-7f2cdaac1000 rw-p 00000000 00:00 0 > 7f2cdaac1000-7f2cdaad6000 r-xp 00000000 fd:02 17643616 > /usr/src/gcc/obj716/gcc/libgcc_s.so.1 > 7f2cdaad6000-7f2cdacd5000 ---p 00015000 fd:02 17643616 > /usr/src/gcc/obj716/gcc/libgcc_s.so.1 > 7f2cdacd5000-7f2cdacd6000 rw-p 00014000 fd:02 17643616 > /usr/src/gcc/obj716/gcc/libgcc_s.so.1 > 7f2cdacd6000-7f2cdadd0000 r-xp 00000000 fd:00 2901742 > /usr/lib64/libm-2.15.so > 7f2cdadd0000-7f2cdafcf000 ---p 000fa000 fd:00 2901742 > /usr/lib64/libm-2.15.so > 7f2cdafcf000-7f2cdafd0000 r--p 000f9000 fd:00 2901742 > /usr/lib64/libm-2.15.so > 7f2cdafd0000-7f2cdafd1000 rw-p 000fa000 fd:00 2901742 > /usr/lib64/libm-2.15.so > 7f2cdafd1000-7f2cdb0bc000 r-xp 00000000 fd:02 18130055 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 > 7f2cdb0bc000-7f2cdb2bb000 ---p 000eb000 fd:02 18130055 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 > 7f2cdb2bb000-7f2cdb2c3000 r--p 000ea000 fd:02 18130055 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 > 7f2cdb2c3000-7f2cdb2c5000 rw-p 000f2000 fd:02 18130055 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 > 7f2cdb2c5000-7f2cdb2da000 rw-p 00000000 00:00 0 > 7f2cdb2da000-7f2cdb2e2000 r-xp 00000000 fd:02 18130772 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/.libs/libvtv.so.0.0.0 > 7f2cdb2e2000-7f2cdb4e1000 ---p 00008000 fd:02 18130772 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/.libs/libvtv.so.0.0.0 > 7f2cdb4e1000-7f2cdb4e2000 rw-p 00007000 fd:02 18130772 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/.libs/libvtv.so.0.0.0 > 7f2cdb4e2000-7f2cdb4e4000 r--p 00008000 fd:02 18130772 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/.libs/libvtv.so.0.0.0 > 7f2cdb4e4000-7f2cdb4e5000 rw-p 0000a000 fd:02 18130772 > /usr/src/gcc/obj716/x86_64-unknown-linux-gnu/libvtv/.libs/libvtv.so.0.0.0 > 7f2cdb4e5000-7f2cdb505000 r-xp 00000000 fd:00 2884197 > /usr/lib64/ld-2.15.so > 7f2cdb6ed000-7f2cdb6f2000 rw-p 00000000 00:00 0 > 7f2cdb6f4000-7f2cdb6f6000 rw-p 00000000 00:00 0 > 7f2cdb6f6000-7f2cdb701000 r--p 00000000 00:00 0 > 7f2cdb701000-7f2cdb704000 rw-p 00000000 00:00 0 > 7f2cdb704000-7f2cdb705000 r--p 0001f000 fd:00 2884197 > /usr/lib64/ld-2.15.so > 7f2cdb705000-7f2cdb706000 rw-p 00020000 fd:00 2884197 > /usr/lib64/ld-2.15.so > 7f2cdb706000-7f2cdb707000 rw-p 00000000 00:00 0 > 7fff6ef04000-7fff6ef26000 rw-p 00000000 00:00 0 > [stack] > 7fff6ef51000-7fff6ef53000 r-xp 00000000 00:00 0 > [vdso] > ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 > [vsyscall] > FAIL: libvtv.cc/template-list-iostream.cc -O0 -fvtable-verify=std execution > test > > Jakub -- Caroline cmt...@google.com