On 03/12/2016 02:51 AM, Andy Chu wrote: > single.sh is called when you do 'make test_$COMMAND'. For example, you > can now run tests under a Clang ASAN build like this: > > make CC=clang CFLAGS=-fsanitize=address test_sed
I generally do: CC=clang CFLAGS=-fsanitize=address make test_sed Exporting environment variables lets them be inherited by child processes. Setting them on the make command line only sets them as make variables, which are not exported by default. (That said, I manually exported them because people keep doing that because make is horrible and I have an entire rant on how horrible it is I'll spare you from for now.) You can also persistently set them in "configure", which is the shell script snippet responsible for setting default values if the variables are empty. > Without this patch, the binary will fail with runtime errors. I don't understand what this patch does: make exported the variables it had which should have passed them to its scripts/single.sh child process, and then that child process called make which should have inherited the exported variables...? I just did a "make LDFLAGS=--static ls" and "file ls" said it was static...? > (ASAN and afl-fuzz sort of go together, since you can find inputs that > access uninitialized memory but don't necessarily crash the process. > And ASAN is useful without afl-fuzz by just running tests with it.) Understood. But under what environment is your patch needed? I just tried it and it seemed to be working for me? $ make CC=branmuffin ls scripts/single.sh ls ls:make[1]: Entering directory `/home/landley/toybox/clean2' scripts/make.sh Generate headers from toys/*/*.c... generated/newtoys.h Library probe........ Make generated/config.h from .singleconfig. generated/flags.h scripts/make.sh: line 177: branmuffin: command not found scripts/make.sh: line 177: branmuffin: command not found make[1]: *** [toybox] Error 1 make[1]: Leaving directory `/home/landley/toybox/clean2' make: *** [ls] Error 1 Looks like it's getting passed through...? > Andy Rob _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
