| Summary: | Version 2.13 of glibc causes Valgrind to complain about uninitialized variables when executing any program. | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | James <fedorabugmail> |
| Component: | valgrind | Assignee: | Jakub Jelinek <jakub> |
| Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 14 | CC: | dodji, jakub, schwab |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-02-16 03:32:43 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Closed as duplicate *** This bug has been marked as a duplicate of bug 676785 *** |
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.