[PATCH] D55708: [test-suite][mips] Disable setlocale calls in consumer-typeset test

Miloš Stojanović via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 14 09:02:19 PST 2018


mstojanovic created this revision.
mstojanovic added reviewers: MatzeB, atanasyan, zoran.jovanovic, petarj.
Herald added subscribers: arichardson, mgorny, sdardis.

When running the test-suite through qemu an error can occur when the host and target architecture differ in endianness. This happens when the test calls setlocale. The glibc implementation of this call reads /usr/lib/locale/locale-archive as raw bites. Since the endianness doesn't match, the numbers read from the archive don't make sense and cause the check to fail.
This patch disables the setlocale call so the test passes regardless of endianness.


https://reviews.llvm.org/D55708

Files:
  MultiSource/Benchmarks/MiBench/consumer-typeset/CMakeLists.txt
  MultiSource/Benchmarks/MiBench/consumer-typeset/Makefile


Index: MultiSource/Benchmarks/MiBench/consumer-typeset/Makefile
===================================================================
--- MultiSource/Benchmarks/MiBench/consumer-typeset/Makefile
+++ MultiSource/Benchmarks/MiBench/consumer-typeset/Makefile
@@ -4,6 +4,9 @@
 # FORTIFY_SOURCE is turned off for this benchmark because the type lies at some
 # point in this program and FORIFY implementations rely on the correct type.
 CPPFLAGS = -DOS_UNIX=1 -DOS_DOS=0 -DOS_MAC=0 -DDB_FIX=0 -DUSE_STAT=1 -DSAFE_DFT=0 -DCOLLATE=1 -DLIB_DIR=\"lout.lib\" -DFONT_DIR=\"font\" -DMAPS_DIR=\"maps\" -DINCL_DIR=\"include\" -DDATA_DIR=\"data\" -DHYPH_DIR=\"hyph\" -DLOCALE_DIR=\"locale\" -DCHAR_IN=1 -DCHAR_OUT=0 -DLOCALE_ON=1 -DASSERT_ON=1 -DDEBUG_ON=0  -DPDF_COMPRESSION=0 -D_FORTIFY_SOURCE=0
+ifeq ($(ARCH),Mips)
+	CPPFLAGS += -DCOLLATE=0 -DLOCALE_ON=0
+endif
 LDFLAGS  = -lm
 RUN_OPTIONS = -x -I $(PROJ_SRC_DIR)/data/include -D $(PROJ_SRC_DIR)/data/data -F $(PROJ_SRC_DIR)/data/font -C $(PROJ_SRC_DIR)/data/maps -H $(PROJ_SRC_DIR)/data/hyph $(PROJ_SRC_DIR)/large.lout
 
Index: MultiSource/Benchmarks/MiBench/consumer-typeset/CMakeLists.txt
===================================================================
--- MultiSource/Benchmarks/MiBench/consumer-typeset/CMakeLists.txt
+++ MultiSource/Benchmarks/MiBench/consumer-typeset/CMakeLists.txt
@@ -1,4 +1,7 @@
 list(APPEND CPPFLAGS -DOS_UNIX=1 -DOS_DOS=0 -DOS_MAC=0 -DDB_FIX=0 -DUSE_STAT=1 -DSAFE_DFT=0 -DCOLLATE=1 -DLIB_DIR="lout.lib" -DFONT_DIR="font" -DMAPS_DIR="maps" -DINCL_DIR="include" -DDATA_DIR="data" -DHYPH_DIR="hyph" -DLOCALE_DIR="locale" -DCHAR_IN=1 -DCHAR_OUT=0 -DLOCALE_ON=1 -DASSERT_ON=1 -DDEBUG_ON=0  -DPDF_COMPRESSION=0 -D_FORTIFY_SOURCE=0)
+if(ARCH STREQUAL "Mips")
+	list(APPEND CPPFLAGS -DCOLLATE=0 -DLOCALE_ON=0)
+endif()
 list(APPEND LDFLAGS -lm)
 set(RUN_OPTIONS -x -I data/include -D data/data -F data/font -C data/maps -H data/hyph large.lout)
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55708.178237.patch
Type: text/x-patch
Size: 1910 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181214/d443e69d/attachment.bin>


More information about the llvm-commits mailing list