https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98912
--- Comment #3 from David Binderman <dcb314 at hotmail dot com> --- For varasm.c line 8285 is for (p = s; p < limit && *p != '\0'; p++) So either the limit is wrong or there are some un-init bytes in the string. My money is on option 2 ;-> Maybe a suitable first step would be to produce some debug output, (maybe fprintf on stderr ?) of the parameters to default_elf_asm_output_ascii, i.e s and len. Whichever of s or len that valgrind detects would be the culprit.