Function Check 1.4 with updates from
The name-extraction code is much faster and more
This was my primary motivation behind this patch,
aside from also
fixing some crashes in the original 1.4 code.
Also I had some problems because I'm still using glibc
its malloc library doesn't provide the caller's
address in its
hook handler functions, so there's a small patch for
included here. (See lib/fncmalloc.c)
Additionally, I added a list of the dynamically loaded
their base memory addresses to the end of the
fnccheck.out dump file.
This was needed to do correct name resolution for
objects. This patch allows all dynamic symbols to be
The majority of the changes are in the dump program.
now looks for the dynamic object list and uses it if
have removed the ldd-based code. I have also
name-related data structures to streamline the naming
This code is 50-100 times faster now (as gauged by
cosmetic changes were needed in fncdump.c to
reorganization. The most noticable impact is that I
"file:line" string into just a "file" string and an
number. So, all of the printf statements needed to
have the "line"
argument added. Doing this allows the memory footprint
drastically reduced, since only one copy of any file
to be kept in memory. Also, I've used binary searches
in the name
lookup code to speed things up there, along with many
-- Howard Chu, email@example.com, 2001-09-24