]> The Tcpdump Group git mirrors - tcpdump/commit
instrument functions: Use an environment variable instead of config files
authorFrancois-Xavier Le Bail <[email protected]>
Sun, 12 Mar 2023 17:57:56 +0000 (18:57 +0100)
committerFrancois-Xavier Le Bail <[email protected]>
Mon, 13 Mar 2023 09:24:43 +0000 (10:24 +0100)
commit9ca86a09271ae74dcc3fb376e4518b03e12f52f5
treed40dfaea39c2cf3b020905245e8679858093bffa
parenteb2f8839ac53daa4d80fad2809be55d997678397
instrument functions: Use an environment variable instead of config files

If the environment variable INSTRUMENT is
- unset or set to an empty string, print nothing, like with no
  instrumentation
- set to "all" or "a", print all the functions names
- set to "global" or "g", print only the global functions names

The configuration with --enable-instrument-functions remains.

Note that before this change, the default was to print all functions.
Now it is to print nothing. So by default 'make check' runs without errors.

This allows to run:
$ INSTRUMENT=a ./tcpdump ...
$ INSTRUMENT=g ./tcpdump ...
$ INSTRUMENT= ./tcpdump ...
or
$ export INSTRUMENT=global
$ ./tcpdump ...

This also allows to run the statically compiled binary on another host
after copying it.

It is no longer necessary to modify the configuration with:
$ make instrument_all
$ make instrument_global
$ make instrument_off
(Targets removed.)

Update .gitignore, CONTRIBUTING.md and Makefile.in accordingly.

Moreover:
Reduce the scope of a variable.
Rename a variable.
Remove '\n' in the perror() call.
Remove 2 spaces in function calls (style).

[skip ci]
.gitignore
CONTRIBUTING.md
Makefile.in
instrument-functions.c