Bug 1600034
| Summary: | valgrind: ld.so linked with -z separate-code produces valgrind warnings | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Florian Weimer <fweimer> | ||||||||
| Component: | valgrind | Assignee: | Mark Wielaard <mjw> | ||||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | medium | Docs Contact: | |||||||||
| Priority: | medium | ||||||||||
| Version: | 28 | CC: | dodji, jakub, lslebodn, mjw | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | i686 | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | valgrind-3.13.0-21.fc29 | Doc Type: | If docs needed, set a value | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2018-07-12 22:29:24 UTC | Type: | Bug | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Bug Depends On: | |||||||||||
| Bug Blocks: | 1623456 | ||||||||||
| Attachments: |
|
||||||||||
Created attachment 1458028 [details]
libc.so.6
Created attachment 1458029 [details]
true
$ eu-readelf -l ld.so Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x000a9c 0x000a9c R 0x1000 LOAD 0x001000 0x00001000 0x00001000 0x01bbbb 0x01bbbb R E 0x1000 LOAD 0x01d000 0x0001d000 0x0001d000 0x009c1c 0x009c1c R 0x1000 LOAD 0x027840 0x00028840 0x00028840 0x000ff8 0x0010c0 RW 0x1000 DYNAMIC 0x027ef4 0x00028ef4 0x00028ef4 0x0000c8 0x0000c8 RW 0x4 NOTE 0x000174 0x00000174 0x00000174 0x000024 0x000024 R 0x4 NOTE 0x026bf4 0x00026bf4 0x00026bf4 0x000028 0x000028 R 0x4 GNU_EH_FRAME 0x021824 0x00021824 0x00021824 0x000754 0x000754 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x027840 0x00028840 0x00028840 0x0007c0 0x0007c0 R 0x1 Section to Segment mapping: Segment Sections... 00 [RO: .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .rel.dyn .rel.plt] 01 [RO: .plt .text] 02 [RO: .rodata .stapsdt.base .eh_frame_hdr .eh_frame .note.gnu.property] 03 [RELRO: .data.rel.ro .dynamic .got] .data .bss 04 [RELRO: .dynamic] 05 [RO: .note.gnu.build-id] 06 [RO: .note.gnu.property] 07 [RO: .eh_frame_hdr] 08 09 [RELRO: .data.rel.ro .dynamic .got] A workaround should be in valgrind-3.13.0-21.fc29. *** Bug 1600733 has been marked as a duplicate of this bug. *** glibc-2.28-9.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-7baa4e2d9d glibc-2.28-9.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-7baa4e2d9d glibc-2.28-9.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. |
Created attachment 1458026 [details] ld.so Running the attached ld.so binary with valgrind-3.13.0-13.fc27.i686 gives the following warnings: ==13059== Memcheck, a memory error detector ==13059== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==13059== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==13059== Command: ./ld.so --library-path . ./true ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123E3E: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123E4D: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123E5C: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123E6B: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x1240AC: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x1240B7: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123EE3: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123EEE: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x123EF9: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x1240F1: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x1240F1: ??? (in /tmp/separate-code/ld.so) ==13059== by 0x111298: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== Conditional jump or move depends on uninitialised value(s) ==13059== at 0x1240AC: ??? (in /tmp/separate-code/ld.so) ==13059== by 0x111298: ??? (in /tmp/separate-code/ld.so) ==13059== ==13059== ==13059== HEAP SUMMARY: ==13059== in use at exit: 0 bytes in 0 blocks ==13059== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==13059== ==13059== All heap blocks were freed -- no leaks are possible ==13059== ==13059== For counts of detected and suppressed errors, rerun with: -v ==13059== Use --track-origins=yes to see where uninitialised values come from ==13059== ERROR SUMMARY: 16 errors from 12 contexts (suppressed: 0 from 0) The matching copy of libc.so.6 is also needed to reproduce this. Also happens with valgrind-3.13.0-18.fc28.i686 and valgrind-3.13.0-20.fc29.i686.