I want to use low-level profiling information generated during the build process for evaluating changes to C primitives, particularly the reader. The attached patch sets up the environment variable GMON_OUT_PREFIX when running emacs during the build so that the output incorporates the target in the name and generates unique names during a parallel build. However, in a parallel build, I am now seeing the cus-load.el target get run twice simultaneously, so that one instance will exit with a file lock error and stop the build. I also get random segmentation faults from emacs during the build, but they do not repeat when I reinvoke make, and the file being byte-compiled when the segfault occurred is not rerun. In addition to the patches to commit d63746d5191fb6e4ee6e39addfc1a05e0e0214b1, I have attached a list of the names of the generated profile images for review. I would like to have profiling start before the dump file is loaded, but my simple minded attempt caused the shell to terminate emacs with a message like "profiling timer expired". I assume monstartup (src/emacs.c:2557) does something to undo the signal handling set up during emacs initialization, but I can't find any documentation for that function on linux, or determine what else would have to change to move that call up to the start of main. You can get the new behavior with ./configure --enable-profiling=all make PROFILE_BUILD=yes ./configure --enable-profiling=build should have the effect of 'all' plus making PROFILE_BUILD=yes the default in the Makefiles, but I have not tested it. Also, I'm not sure if there are any canned analyses that should be incorporated in the Makefiles as targets, or sets of files that should be summarized for such analyses. Lynn