https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89323
Bug ID: 89323
Summary: Asan memory leak detection on x86 platform
Product: gcc
Version: 6.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: ganeshemb at gmail dot com
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at
gcc dot gnu.org
Target Milestone: ---
Hi,
Asan memory leak detection does not seem to on x86 platform.
Sample C program with memory leak
cat asantest.c
#include
#include
#include
int main (int argc, char *argv[])
{
char *name = (char*) malloc(10);
strcpy(name, argv[1]);
printf("Hello, %s!\n", name);
return 0;
}
`gcc -g -m32 -fsanitize=address -fno-omit-frame-pointer asantest.c -o santest`
```
objdump -a asantest
asantest: file format elf32-i386
```
```
ldd asantest
linux-gate.so.1 (0xf778a000)
libasan.so.3 => /usr/lib32/libasan.so.3 (0xf71e)
```
```
gcc --version
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
```
when program run as shown below , no leaks were detected.
```
./asantest world
Hello, world!
```
when program run with ASAN_OPTIONS , following error is shown.
```
ASAN_OPTIONS=detect_leaks=1 ./asantest world
==8192==AddressSanitizer: detect_leaks is not supported on this platform.
```
My system info
```
lscpu
Architecture: x86_64
CPU op-mode(s):32-bit, 64-bit
```
```
uname -r
4.9.0-8-amd64
```
works for current clang:
clang-6.0 -g -fsanitize=address -fno-omit-frame-pointer -m32 asantest.c &&
./a.out
AddressSanitizer:DEADLYSIGNAL
=
==6318==ERROR: AddressSanitizer: SEGV on unknown address 0x (pc
0xf74f2a66 bp 0xfff26cb8 sp 0xfff26854 T0)
Thanks in advance.