https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87417
--- Comment #3 from Ilya Leoshkevich <iii at linux dot ibm.com> --- Valgrind has found an issue: ==12738== Invalid write of size 4 ==12738== at 0x804CC48: attr_rtx_1 (genattrtab.c:518) ==12738== by 0x804CC48: attr_rtx(rtx_code, ...) (genattrtab.c:588) ==12738== by 0x804EA6D: mk_attr_alt (genattrtab.c:2406) ==12738== by 0x804EA6D: check_attr_test(file_location, rtx_def*, attr_desc*) (genattrtab.c:709) ==12738== by 0x804EBBF: check_attr_value(file_location, rtx_def*, attr_desc*) (genattrtab.c:945) ==12738== by 0x804A0AA: check_defs (genattrtab.c:1108) ==12738== by 0x804A0AA: main (genattrtab.c:5253) ==12738== Address 0x6d79aa0 is 0 bytes after a block of size 16 alloc'd ==12738== at 0x402E27C: malloc (vg_replace_malloc.c:299) ==12738== by 0x8064FD3: xmalloc (xmalloc.c:147) ==12738== by 0x805233E: ggc_internal_alloc (ggc.h:130) ==12738== by 0x805233E: ggc_alloc_rtx_def_stat (ggc.h:275) ==12738== by 0x805233E: rtx_alloc_stat_v(rtx_code, int) (rtl.c:209) ==12738== by 0x805236D: rtx_alloc(rtx_code) (rtl.c:233) ==12738== by 0x804CC39: attr_rtx_1 (genattrtab.c:516) ==12738== by 0x804CC39: attr_rtx(rtx_code, ...) (genattrtab.c:588) ==12738== by 0x804EA6D: mk_attr_alt (genattrtab.c:2406) ==12738== by 0x804EA6D: check_attr_test(file_location, rtx_def*, attr_desc*) (genattrtab.c:709) ==12738== by 0x804EBBF: check_attr_value(file_location, rtx_def*, attr_desc*) (genattrtab.c:945) ==12738== by 0x804A0AA: check_defs (genattrtab.c:1108) ==12738== by 0x804A0AA: main (genattrtab.c:5253) Apparently allocated EQ_ATTR_ALT is smaller than I expect: 16 bytes are clearly not enough to contain rtx_def and 2 HOST_WIDE_INTs.