On Tue, Dec 5, 2017 at 11:27 AM Mike Stump <mikest...@comcast.net> wrote: > > On Dec 5, 2017, at 11:11 AM, Thomas Preudhomme > <thomas.preudho...@foss.arm.com> wrote: > > > > On 05/12/17 17:54, Andrew Pinski wrote: > >> On Tue, Dec 5, 2017 at 9:50 AM, Thomas Preudhomme > >> <thomas.preudho...@foss.arm.com> wrote: > >>> Hi, > >>> > >>> dump-noaddr test FAILS when $tmpdir is not the same as the directory > >>> where runtest is called from. Note that this does not happen when > >>> running make check because tmpdir is set to srcdir. > >>> > >>> In that case, file mkdir will create the directory in the current > >>> directory while GCC is invoked from tmpdir and hence -dumpbase look > >>> for dump1 and dump2 relative to tmpdir. This patch forces dumpbase to > >>> be relative to tmpdir which will work in all case. > >>> > >>> ChangeLog entry is as follows: > >>> > >>> *** gcc/testsuite/ChangeLog *** > >>> > >>> 2017-12-05 Thomas Preud'homme <thomas.preudho...@arm.com> > >>> > >>> * gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Set dump > >>> base > >>> relative to tmpdir. > >>> > >>> Testing: Successfully ran unsorted.exp via make check and out of tree > >>> testing using runtest from <path>/test with tmpdir set in > >>> <path>/test/site.exp to <path>. > >>> > >>> Is this ok for stage3? > >> https://gcc.gnu.org/ml/gcc-patches/2012-06/msg01752.html > >> I don't remember where this discussion went last time. > >> Maybe this time there will be a resolution :). > > > > FWIW, I agree with Matt, creating the dump in tmpdir makes more sense. I > > think his patch can be simplified though because the compiler seems to be > > invoked from tmpdir so it can at least be omitted from the -dumpbase. > > Sounds reasonable. I've added that on top of his patch and checked that in. > Let us know if it works or not.
I finally got around to testing this myself and I had to revert the second patch of the set which removed $tmpdir from dumpbase option. Maybe it is the way I run the testsuite out of tree; I have been running this way since at least 2010 and the code to do the running existed before I joined Cavium/Marvell. This is how I run the testsuite (part of the Makefile): gcc.sum g++.sum gdb.sum: rm -f *.gcda mkdir -p $(basename $@) -$(RUNTEST) --tool $(basename $@) TMPDIR=`pwd`/$(basename $@) $(DGFLAGS) \ --srcdir $(SRC)/$(subst g++,gcc,$(basename $@))/testsuite \ HOSTCC=gcc HOSTCFLAGS= I don't "cd TMPDIR" before invoking runtest though so I wonder being in the TMPDIR is always true because of that. Thanks, Andrew Pinski Thanks, Andrew Pinski