Hi Daniel, I know you only did a small change to support big/little endian reference outputs, but maybe you can help me. I'm running the test-suite on AArch64 and it's correctly detecting little-endian, even setting the ENDIAN=little on configure and Makefiles alike, but it still generates "big-endian" from Makefile.programs. Here's the first lines of: sandbox/test-...$ grep -i endian * | less config.log:| not big endian config.log:ac_cv_c_bigendian=no config.log:ENDIAN='little' config.status:s, at ENDIAN@,|#_!!_#|little,g configure.log:checking whether byte ordering is bigendian... no grep: External: Is a directory Makefile.config:ENDIAN := little === So far, so good. Makefile.programs: -if [ -f "$(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian.$(REFERENCE_OUTPUT_KEY)" ]; then \ Makefile.programs: cp $(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian.$(REFERENCE_OUTPUT_KEY) $@; \ Makefile.programs: elif [ -f "$(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian" ]; then \ Makefile.programs: cp $(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian $@; \ === This is correct, and I was assuming ENDIAN := little, as said above. === But then you get this on ALL tests in test.log: test.log:if [ -f "/home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian." ]; then \ test.log: cp /home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian. Output/ConditionalExpr.out-nat; \ test.log: elif [ -f "/home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian" ]; then \ test.log: cp /home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian Output/ConditionalExpr.out-nat; \ Any ideas? --renato
Hi Renato, Nothing in particular springs to mind. Is it possible that in the context where this part of the Makefile is running Makefile.config isn't available? I'm not sure how this can be completely broken in the fashion you describe though, as it seems like that would make little-endian fail which is what most people are testing. - Daniel On Thu, Feb 20, 2014 at 7:14 AM, Renato Golin <renato.golin at linaro.org>wrote:> Hi Daniel, > > I know you only did a small change to support big/little endian > reference outputs, but maybe you can help me. > > I'm running the test-suite on AArch64 and it's correctly detecting > little-endian, even setting the ENDIAN=little on configure and > Makefiles alike, but it still generates "big-endian" from > Makefile.programs. > > Here's the first lines of: > > sandbox/test-...$ grep -i endian * | less > config.log:| not big endian > config.log:ac_cv_c_bigendian=no > config.log:ENDIAN='little' > config.status:s, at ENDIAN@,|#_!!_#|little,g > configure.log:checking whether byte ordering is bigendian... no > grep: External: Is a directory > Makefile.config:ENDIAN := little > > === So far, so good. > > > Makefile.programs: -if [ -f > > "$(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian.$(REFERENCE_OUTPUT_KEY)" > ]; then \ > Makefile.programs: cp > > $(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian.$(REFERENCE_OUTPUT_KEY) > $@; \ > Makefile.programs: elif [ -f > "$(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian" ]; then \ > Makefile.programs: cp > $(PROJ_SRC_DIR)/$*.reference_output.$(ENDIAN)-endian $@; \ > > === This is correct, and I was assuming ENDIAN := little, as said above. > === But then you get this on ALL tests in test.log: > > test.log:if [ -f > > "/home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian." > ]; then \ > test.log: cp > > /home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian. > Output/ConditionalExpr.out-nat; \ > test.log: elif [ -f > > "/home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian" > ]; then \ > test.log: cp > > /home/enevill/llvm/test/test-suite/SingleSource/Regression/C++/EH/ConditionalExpr.reference_output.big-endian > Output/ConditionalExpr.out-nat; \ > > > Any ideas? > > --renato >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140224/967c6c3d/attachment.html>
On 24 February 2014 17:02, Daniel Dunbar <daniel at zuster.org> wrote:> Nothing in particular springs to mind. Is it possible that in the context > where this part of the Makefile is running Makefile.config isn't available?This is a standard lnt run, create in the same way I ran for x86_64 and ARM, so I'm not sure what could be wrong.> I'm not sure how this can be completely broken in the fashion you describe > though, as it seems like that would make little-endian fail which is what > most people are testing.It is very weird. I got lost twice trying to follow the make files and autoconf, this is why I ask you, to see if you can think of anything that would need registering when adding new targets... I'll keep trying... Thanks! --renato