[Bug c/94322] New: Detected memory leaks while using clang AddressSanitizer to build GCC
haoxintu at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Mar 25 12:07:49 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94322
Bug ID: 94322
Summary: Detected memory leaks while using clang
AddressSanitizer to build GCC
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: haoxintu at gmail dot com
Target Milestone: ---
Hi, I use clang with AddressSanitizer and detected memory leaks while building
GCC.
The SUMMARY are:
=================================================================
==7174==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x4debb0
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x4debb0)
#1 0x521a45
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x521a45)
#2 0x51e2a9
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51e2a9)
#3 0x51a8e5
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51a8e5)
#4 0x7f20623dc82f (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
Direct leak of 23 byte(s) in 1 object(s) allocated from:
#0 0x4de998
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x4de998)
#1 0x5219c1
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x5219c1)
#2 0x521b7d
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x521b7d)
#3 0x51bb89
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51bb89)
#4 0x7f20623dc82f (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
Indirect leak of 13368 byte(s) in 456 object(s) allocated from:
#0 0x4de998
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x4de998)
#1 0x5219c1
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x5219c1)
#2 0x521b7d
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x521b7d)
#3 0x51a9f0
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51a9f0)
#4 0x7f20623dc82f (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
Indirect leak of 8168 byte(s) in 1 object(s) allocated from:
#0 0x4debb0
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x4debb0)
#1 0x521a45
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x521a45)
#2 0x520384
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x520384)
#3 0x51f5af
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51f5af)
#4 0x51ab44
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51ab44)
#5 0x7f20623dc82f (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
Indirect leak of 7296 byte(s) in 456 object(s) allocated from:
#0 0x4de998
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x4de998)
#1 0x5219c1
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x5219c1)
#2 0x51a9e5
(/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc/build/genhooks+0x51a9e5)
#3 0x7f20623dc82f (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
SUMMARY: AddressSanitizer: 28967 byte(s) leaked in 915 allocation(s).
Makefile:2504: recipe for target 's-tm-texi' failed
make[3]: *** [s-tm-texi] Error 1
make[3]: *** Waiting for unfinished jobs....
31 warnings generated.
19 warnings generated.
rm fsf-funding.pod gcov.pod gpl.pod cpp.pod gcc.pod
make[3]: Leaving directory
'/home/haoxin/corpus-compilers/clang-build-gcc8/build/gcc'
Makefile:4617: recipe for target 'all-stage1-gcc' failed
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory
'/home/haoxin/corpus-compilers/clang-build-gcc8/build'
Makefile:24352: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory
'/home/haoxin/corpus-compilers/clang-build-gcc8/build'
Makefile:944: recipe for target 'all' failed
Here are my instructions:
$export FUZZ_FLAGS="-O2 -fno-omit-frame-pointer -g -fsanitize=address
-fsanitize-coverage=edge,trace-pc-guard,indirect-calls,trace-cmp,trace-div,trace-gep"
$CC="clang $FUZZ_FLAGS" CXX="clang++ $FUZZ_FLAGS" ../configure
$make -j4
Without FUZZ_FLAGS, clang can build GCC well.
I used GCC-8.1.0, clang-6.0, and Ubuntu16.04.
More information about the Gcc-bugs
mailing list