removes findBPFunction.
authorjaw <jaw>
Wed, 2 Apr 2003 07:12:18 +0000 (07:12 +0000)
committerjaw <jaw>
Wed, 2 Apr 2003 07:12:18 +0000 (07:12 +0000)
commit0e166dc6f55ef9a10da7bd79b8b9d4ab868b95dd
tree03b2c66e4c1328d5fd4dd64de257c2b3aa82acd6
parente94e66bd4f8ccc4ce70b4ad37b829062171e0ac1
removes findBPFunction.

fully vectorizes other findFunction-like routines whose parameter could match
several results.

Adds regex matching to findFunction (both image and module scope).  There is
a caveat here...  due to collisions with legitimate, non regex strings such as
"operator new[]", any regex that contains only '[]' regex tokens will not
be treated as a regex...  it takes one of the other valid regex chars to
trigger the regex search.  The string REGEX_CHARSET in symtab.h defines
these.

Exports a generic mechanism of grouping functions according to a user-provided
filter function:

     BPatch_Vector<BPatch_function *> *
     BPatch_image::findFunction(BPatch_Vector<BPatch_function *> *funcs,
                                BPatchFunctionNameSieve b, void *user_data,
                                int showError=0);

Splits parseTypes() into a two phase process for stabs platforms.  The
first phase parses variable/type/general info.  The second parses line
information and is not performed until line information is requested by
the user.

Removes checkAllCallPoints() in favor of doing this check when a pd_Function's
inst points are requested.

Changes data structures in LineInformation to use stl::map.  This is
currently disabled at time of commit since, while it passes the tests,
it causes codeCoverage to produce some odd results.  Expect a fix for this
shortly.

Breaks test1 on alpha.  This will be fixed over the next few days as I
figure out how to solve the weird stl linking problems.

Updates dyner to provide regex searching.
56 files changed:
codeCoverage/src/CodeCoverage.C
common/h/Dictionary.h
common/src/Dictionary.C
dyner/src/cmdline.y
dyner/src/dyner.C
dyninstAPI/h/BPatch_Vector.h
dyninstAPI/h/BPatch_image.h
dyninstAPI/h/BPatch_module.h
dyninstAPI/src/BPatch_flowGraph.C
dyninstAPI/src/BPatch_function.C
dyninstAPI/src/BPatch_image.C
dyninstAPI/src/BPatch_module.C
dyninstAPI/src/BPatch_thread.C
dyninstAPI/src/CodeView.C
dyninstAPI/src/LineInformation.C
dyninstAPI/src/LineInformation.h
dyninstAPI/src/Object-elf.C
dyninstAPI/src/aix.C
dyninstAPI/src/aixDL.C
dyninstAPI/src/inst-alpha.C
dyninstAPI/src/inst-ia64.C
dyninstAPI/src/inst-mips.C
dyninstAPI/src/inst-power.C
dyninstAPI/src/inst-sparc-solaris.C
dyninstAPI/src/inst-sparc.C
dyninstAPI/src/inst-x86.C
dyninstAPI/src/irix.C
dyninstAPI/src/linux-x86.C
dyninstAPI/src/linux.C
dyninstAPI/src/parseCoff.C
dyninstAPI/src/parseStab.C
dyninstAPI/src/pdwinnt.C
dyninstAPI/src/process.C
dyninstAPI/src/process.h
dyninstAPI/src/sharedobject.C
dyninstAPI/src/sharedobject.h
dyninstAPI/src/sol_proc.C
dyninstAPI/src/solaris.C
dyninstAPI/src/symtab.C
dyninstAPI/src/symtab.h
dyninstAPI/src/templates-nt.C
dyninstAPI/src/templates1.C
dyninstAPI/src/templates2.C
dyninstAPI/tests/src/test1.C
dyninstAPI/tests/src/test1.mutatee.c
dyninstAPI/tests/src/test2.C
dyninstAPI/tests/src/test3.C
dyninstAPI/tests/src/test4.C
dyninstAPI/tests/src/test5.C
dyninstAPI/tests/src/test5.mutatee.C
dyninstAPI/tests/src/test6.C
dyninstAPI/tests/src/test7.C
dyninstAPI_RT/src/RTsolaris.c
make.config
nmake.config
paradynd/src/pd_process.h