aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Ou <rqou@robertou.com>2018-05-18 22:45:43 -0700
committerRobert Ou <rqou@robertou.com>2018-05-18 22:53:52 -0700
commitbea71e71ca4f2b756519cd67ec99d24f1e70b53b (patch)
treeb5d90d65e4cb43c3a3a403b566357d19664ce5df
parent0abe7c6c77cdb4017cf5d8c34766e43806ce4876 (diff)
downloadyosys-bea71e71ca4f2b756519cd67ec99d24f1e70b53b.tar.gz
yosys-bea71e71ca4f2b756519cd67ec99d24f1e70b53b.tar.bz2
yosys-bea71e71ca4f2b756519cd67ec99d24f1e70b53b.zip
Force abc to align memory to 8 bytes
Apparently abc has a memory pool implementation that by default returns memory that is unaligned. There is a workaround in the abc makefile that uses uname to look for "arm" specifically and then sets the alignment. However, ARM is not the only platform that requires proper alignment (e.g. emscripten does too). For now, pessimistically force the alignment for 8 bytes all the time (somehow 4 wasn't enough for fixing emscripten despite being approximately a 32-bit platform).
-rw-r--r--Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 1a17bb857..ef838624a 100644
--- a/Makefile
+++ b/Makefile
@@ -164,7 +164,7 @@ else ifeq ($(CONFIG),emcc)
CXX = emcc
LD = emcc
CXXFLAGS := -std=c++11 $(filter-out -fPIC -ggdb,$(CXXFLAGS))
-ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H"
+ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H -DABC_MEMALIGN=8"
EMCCFLAGS := -Os -Wno-warn-absolute-paths
EMCCFLAGS += --memory-init-file 0 --embed-file share -s NO_EXIT_RUNTIME=1
EMCCFLAGS += -s EXPORTED_FUNCTIONS="['_main','_run','_prompt','_errmsg']"