How Quantify names functions

Quantify names functions based on the function names in the symbol table of the object file. For C++ function names, Quantify demangles the name.

External function names are unique throughout the program. It is possible, however, for two or more object files of an application to contain identically named static functions. These names are not considered external to the object file, and there is no conflict during linking.

For ambiguous function names, Quantify appends the filename of the object file containing the function and a number indicating the function offset within the file. For example, if the static function reset_callback is the third function in the graph.o module, Quantify names it reset_callback[graph.o/3].

In addition, the linker might have removed nonexternal symbols from certain object modules in order to save disk space. When Quantify finds the static function definition in the object module without a corresponding name, it names the function unknown_static_function. It then appends the object filename and function offset to distinguish the function from any other unknown static functions in the same or other object modules.

On HP-UX, the linker inserts stub functions in shared libraries to support distant branches within the shared library. Quantify names these functions uwss_NNNN (unwind stub start) and uwse_NNNN (unwind stub end).