https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88063

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Created attachment 45027
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45027&action=edit
Detection patch

Output:
...
$ ./btest 2>&1 | sed 's%/.*/%%' 
alloc at state.c:66: addr: 0x7f9addf62000, size: 72, allocs: 1
alloc at backtrace.c:118: addr: 0x7f9addf61000, size: 4096, allocs: 2
free at backtrace.c:123: addr: 0x7f9addf61000, size: 4096, allocs: 1
alloc at elf.c:2952: addr: 0x7f9addf61000, size: 24, allocs: 2
alloc at elf.c:622: addr: 0x7f9addf57000, size: 5160, allocs: 3
alloc at elf.c:836: addr: 0x7f9addf58428, size: 73, allocs: 4
free at elf.c:861: addr: 0x7f9addf58428, size: 73, allocs: 3
alloc at dwarf.c:1074: addr: 0x7f9addf58428, size: 32, allocs: 4
alloc at dwarf.c:1116: addr: 0x7f9addf58478, size: 56, allocs: 5
alloc at dwarf.c:1481: addr: 0x7f9addf584b0, size: 120, allocs: 6
alloc at dwarf.c:1074: addr: 0x7f9addf586a8, size: 160, allocs: 7
alloc at dwarf.c:1116: addr: 0x7f9addf58748, size: 40, allocs: 8
alloc at dwarf.c:1116: addr: 0x7f9addf58770, size: 24, allocs: 9
alloc at dwarf.c:1116: addr: 0x7f9addf58788, size: 24, allocs: 10
alloc at dwarf.c:1116: addr: 0x7f9addf587a0, size: 8, allocs: 11
alloc at dwarf.c:1116: addr: 0x7f9addf587a8, size: 48, allocs: 12
alloc at dwarf.c:1481: addr: 0x7f9addf587d8, size: 120, allocs: 13
free at dwarf.c:646: addr: 0x7f9addf58748, size: 40, allocs: 12
free at dwarf.c:646: addr: 0x7f9addf58770, size: 24, allocs: 11
free at dwarf.c:646: addr: 0x7f9addf58788, size: 24, allocs: 10
free at dwarf.c:646: addr: 0x7f9addf587a0, size: 8, allocs: 9
free at dwarf.c:646: addr: 0x7f9addf587a8, size: 48, allocs: 8
free at dwarf.c:649: addr: 0x7f9addf586a8, size: 160, allocs: 7
free at dwarf.c:1510: addr: 0x7f9addf587d8, size: 120, allocs: 6
free at dwarf.c:649: addr: (nil), size: 0, allocs: 6
free at dwarf.c:646: addr: 0x7f9addf58478, size: 56, allocs: 5
free at dwarf.c:649: addr: 0x7f9addf58428, size: 32, allocs: 4
Expected 3 allocs, but have: 4
...

This is the struct unit alloc without corresponding free:
...
alloc at dwarf.c:1481: addr: 0x7f9addf584b0, size: 120, allocs: 6
...

Reply via email to