Valgrind findings in ld-2.28.so
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
New
|
Undecided
|
Unassigned |
Bug Description
This issue was reported on Stack Overflow.
$ cat test.cc
#include <stdio.h>
int main() {
puts("Hello, World!");
return 0;
}
It produces about 200 findings in ld.so-2.28.so. There are some findings from libc-2.28.so, too.
$ valgrind ./test.exe 2>&1 | grep -c ld-2.28.so
196
It almost looks like something is sideways with Valgrind, like a missing suppression file.
Sorry to report with Raspbian. I should probably report directly to Debian. Debian uses an antique bug reporter from the 1980s. I don't feel like reading a man page to submit a bug to them using email.
=========
$ apt-cache show valgrind
Package: valgrind
Version: 1:3.7.0-6+rpi6
Architecture: armhf
Maintainer: Alessandro Ghedini <email address hidden>
Installed-Size: 36395
Depends: libc6 (>= 2.16), libc6-dbg
Recommends: valgrind-dbg, gdb
...
=========
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
=========
pi@raspberrypi:~ $ valgrind ./test.exe
==7664== Memcheck, a memory error detector
==7664== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==7664== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==7664== Command: ./test.exe
==7664==
--7664-- WARNING: Serious error when reading debug info
--7664-- When reading debug info from /lib/arm-
--7664-- Ignoring non-Dwarf2/3/4 block in .debug_info
--7664-- WARNING: Serious error when reading debug info
--7664-- When reading debug info from /lib/arm-
--7664-- Last block truncated in .debug_info; ignoring
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401A5D0: index (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401A5D4: index (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4008040: _dl_dst_count (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4008288: expand_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401AA80: strlen (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401AA84: strlen (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4017F68: malloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4017F74: malloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5E8: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B608: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B618: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B634: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B63C: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B664: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B664: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B68C: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B6A0: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B6A4: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B6B0: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x40180A4: calloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4017FA8: malloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401A160: mmap (in /lib/arm-
==7664==
==7664== Syscall param mmap2(start) contains uninitialised byte(s)
==7664== at 0x401A174: mmap (in /lib/arm-
==7664==
==7664== Syscall param mmap2(length) contains uninitialised byte(s)
==7664== at 0x401A174: mmap (in /lib/arm-
==7664==
==7664== Syscall param mmap2(offset) contains uninitialised byte(s)
==7664== at 0x401A174: mmap (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4017F44: malloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400BDD0: _dl_new_object (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5F4: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B630: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BD7C: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BD98: _dl_new_object (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401AA14: strdup (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B660: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B660: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B688: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4008E20: _dl_map_object (in /lib/arm-
==7664==
==7664== Syscall param openat(filename) contains uninitialised byte(s)
==7664== at 0x4019F4C: __open64_nocancel (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x40180E4: free (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400BB84: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BB9C: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BBBC: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BBC0: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BBE0: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BC50: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BC64: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BCA8: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BCC0: _dl_new_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401AA30: strlen (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401AA48: strlen (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B628: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400BD9C: _dl_new_object (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4005D98: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005DC4: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005DD0: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005E50: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005E9C: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005EA0: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400602C: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40060C0: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40060DC: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4006114: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4006A0C: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40061D4: _dl_map_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4010FF4: _dl_name_match_p (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4011008: _dl_name_match_p (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401A620: strcmp (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4010FFC: _dl_name_match_p (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4013660: _dl_get_origin (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B690: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B694: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4013674: _dl_get_origin (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400832C: expand_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x40082E4: expand_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4008114: _dl_dst_substitute (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401A67C: strcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4008198: _dl_dst_substitute (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B66C: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B66C: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400926C: _dl_map_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B7A0: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B6B0: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B6B4: memcpy (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B648: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B900: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005FCC: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4005FE0: _dl_map_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4006020: _dl_map_
==7664==
--7664-- WARNING: Serious error when reading debug info
--7664-- When reading debug info from /lib/arm-
--7664-- Ignoring non-Dwarf2/3/4 block in .debug_info
--7664-- WARNING: Serious error when reading debug info
--7664-- When reading debug info from /lib/arm-
--7664-- Last block truncated in .debug_info; ignoring
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400E3FC: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400E410: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400E7DC: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400E80C: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400E844: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B654: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B658: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B65C: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B668: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B67C: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B680: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B684: memcpy (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4015FE4: _dl_sort_maps (in /lib/arm-
==7664==
==7664==
==7664== More than 100 errors detected. Subsequent errors
==7664== will still be recorded, but in less detail than before.
==7664== Use of uninitialised value of size 4
==7664== at 0x4016004: _dl_sort_maps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400EBD8: _dl_map_object_deps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4003648: dl_main (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400365C: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4003698: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40036C8: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40037D8: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40113EC: _dl_check_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4011408: _dl_check_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4011420: _dl_check_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4011830: _dl_check_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40118A4: _dl_check_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4011920: _dl_check_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40010B0: init_tls (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40010DC: init_tls (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4012B14: _dl_determine_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012B18: _dl_determine_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012B24: _dl_determine_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012B30: _dl_determine_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012C24: _dl_determine_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4017FF0: malloc (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4012D3C: _dl_allocate_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401BAD4: __udivsi3 (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B560: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B568: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B580: memset (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x401B580: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B588: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B590: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B598: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B59C: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5A8: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5B0: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5B8: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5C0: memset (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x401B5C4: memset (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012D68: _dl_allocate_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x40126D4: allocate_dtv (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40126D4: allocate_dtv (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40126D8: allocate_dtv (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4012D78: _dl_allocate_
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4001104: init_tls (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400110C: init_tls (in /lib/arm-
==7664==
==7664== Syscall param set_tls(addr) contains uninitialised byte(s)
==7664== at 0x4001120: init_tls (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4003B74: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4003B7C: dl_main (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400CB80: _dl_relocate_object (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400A810: _dl_lookup_symbol_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400A828: _dl_lookup_symbol_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009D84: do_lookup_x (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4009D58: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009D5C: do_lookup_x (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4009D90: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009DAC: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009CD4: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009CE0: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009D14: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009F50: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009F60: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009FB8: do_lookup_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009B28: check_match (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4009B2C: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009B40: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009B48: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009B58: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009BFC: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4009C00: check_match (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400A8EC: _dl_lookup_symbol_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400A8FC: _dl_lookup_symbol_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400CCF8: _dl_relocate_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400CDAC: _dl_relocate_object (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400A86C: _dl_lookup_symbol_x (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4010FD8: _dl_name_match_p (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4010FEC: _dl_name_match_p (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4013420: _dl_add_to_slotinfo (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4013440: _dl_add_to_slotinfo (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400D908: _dl_relocate_object (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4012DB8: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012DC0: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012DC8: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012E10: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012E3C: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012E48: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012E7C: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012EA8: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012ECC: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4012F28: _dl_allocate_
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x40103D4: _dl_init (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400FA00: _dl_fixup (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x400FA8C: _dl_fixup (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x400FA8C: _dl_fixup (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4015B4C: _dl_runtime_resolve (in /lib/arm-
==7664==
Hello, World!
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x40105D0: _dl_fini (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x4016178: _dl_sort_maps (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x4924824: free (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x49CB050: free_mem (in /lib/arm-
==7664==
==7664== Conditional jump or move depends on uninitialised value(s)
==7664== at 0x49CB0D0: free_mem (in /lib/arm-
==7664==
==7664== Use of uninitialised value of size 4
==7664== at 0x49CAF64: free_slotinfo (in /lib/arm-
==7664==
==7664==
==7664== HEAP SUMMARY:
==7664== in use at exit: 0 bytes in 0 blocks
==7664== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
==7664==
==7664== All heap blocks were freed -- no leaks are possible
==7664==
==7664== For counts of detected and suppressed errors, rerun with: -v
==7664== Use --track-origins=yes to see where uninitialised values come from
==7664== ERROR SUMMARY: 6181 errors from 198 contexts (suppressed: 97 from 1)
pi@raspberrypi:~ $
Building Valgrind 3.15 from sources and re-running the test results in the expected output:
$ valgrind ./test.exe
==20238== Memcheck, a memory error detector
==20238== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==20238== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==20238== Command: ./test.exe
==20238==
Hello, World!
==20238==
==20238== HEAP SUMMARY:
==20238== in use at exit: 0 bytes in 0 blocks
==20238== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated
==20238==
==20238== All heap blocks were freed -- no leaks are possible
==20238==
==20238== For lists of detected and suppressed errors, rerun with: -s
==20238== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)