Description of problem: With the previous version of glibc, compiling an empty C program with g++ would result in zero warnings in Valgrind. With version 2.13, any program will cause numerous "Conditional jump or move depends on uninitialized value(s)" warnings. These warnings appear regardless on the contents of the C program. Version-Release number of selected component (if applicable): glibc-2.13 How reproducible/Steps to Reproduce: >valgrind ls Actual results: ==3968== Memcheck, a memory error detector ==3968== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==3968== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==3968== Command: ./a.out ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A1416AA6: index (in /lib64/ld-2.13.so) ==3968== by 0x33A1407084: expand_dynamic_string_token (in /lib64/ld-2.13.so) ==3968== by 0x33A14078E9: _dl_map_object (in /lib64/ld-2.13.so) ==3968== by 0x33A140126D: map_doit (in /lib64/ld-2.13.so) ==3968== by 0x33A140DC65: _dl_catch_error (in /lib64/ld-2.13.so) ==3968== by 0x33A1401186: do_preload (in /lib64/ld-2.13.so) ==3968== by 0x33A1403FC8: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A1416AAB: index (in /lib64/ld-2.13.so) ==3968== by 0x33A1407084: expand_dynamic_string_token (in /lib64/ld-2.13.so) ==3968== by 0x33A14078E9: _dl_map_object (in /lib64/ld-2.13.so) ==3968== by 0x33A140126D: map_doit (in /lib64/ld-2.13.so) ==3968== by 0x33A140DC65: _dl_catch_error (in /lib64/ld-2.13.so) ==3968== by 0x33A1401186: do_preload (in /lib64/ld-2.13.so) ==3968== by 0x33A1403FC8: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A140ADA2: _dl_relocate_object (in /lib64/ld-2.13.so) ==3968== by 0x33A1403295: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A140ADAB: _dl_relocate_object (in /lib64/ld-2.13.so) ==3968== by 0x33A1403295: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A140ADA2: _dl_relocate_object (in /lib64/ld-2.13.so) ==3968== by 0x33A14034A5: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== Conditional jump or move depends on uninitialised value(s) ==3968== at 0x33A140ADAB: _dl_relocate_object (in /lib64/ld-2.13.so) ==3968== by 0x33A14034A5: dl_main (in /lib64/ld-2.13.so) ==3968== by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so) ==3968== by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so) ==3968== by 0x33A1400B27: ??? (in /lib64/ld-2.13.so) ==3968== ==3968== ==3968== HEAP SUMMARY: ==3968== in use at exit: 0 bytes in 0 blocks ==3968== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==3968== ==3968== All heap blocks were freed -- no leaks are possible ==3968== ==3968== For counts of detected and suppressed errors, rerun with: -v ==3968== Use --track-origins=yes to see where uninitialised values come from ==3968== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) Expected results: ==3968== Memcheck, a memory error detector ==3968== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==3968== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==3968== Command: ./a.out ==3968== ==3968== ==3968== HEAP SUMMARY: ==3968== in use at exit: 0 bytes in 0 blocks ==3968== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==3968== ==3968== All heap blocks were freed -- no leaks are possible ==3968== ==3968== For counts of detected and suppressed errors, rerun with: -v ==3968== Use --track-origins=yes to see where uninitialised values come from ==3968== ERROR SUMMARY: 0 errors from 6 contexts (suppressed: 0 from 0) Additional info: Compiling int main(int argc, char * argv[]) { return 0; } causes the same result.
Closed as duplicate *** This bug has been marked as a duplicate of bug 676785 ***