[LLVMdev] test-suite wrongly using big-endian results

Renato Golin renato.golin at linaro.org
Thu Feb 20 07:14:45 PST 2014


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



More information about the llvm-dev mailing list