Closed tiedaoxiaotubie closed 3 years ago
When I collect the constraints of libtiff, SymCC always lost constraints. So I use gdb to debug it, after which I realized that SymCC failed to hook some critical libc functions, including memcpy and memset, because in libtiff, they use _TIFFmemcpy and _TIFFmemset (see the definition: https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_unix.c#L338), instead of the original name. (see https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_dirread.c#L6466).
libtiff
gdb
memcpy
memset
_TIFFmemcpy
_TIFFmemset
I think this is a bug, because SymCC can hook these functions successfully as long as I use memset to replace _TIFFmemset.
When I collect the constraints of
libtiff
, SymCC always lost constraints. So I usegdb
to debug it, after which I realized that SymCC failed to hook some critical libc functions, includingmemcpy
andmemset
, because inlibtiff
, they use_TIFFmemcpy
and_TIFFmemset
(see the definition: https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_unix.c#L338), instead of the original name. (see https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_dirread.c#L6466).I think this is a bug, because SymCC can hook these functions successfully as long as I use
memset
to replace_TIFFmemset
.