ref: fdc175a8f338b5779af5729dd7c18656f8f913aa
parent: fc3070f76d315f78607221d043250ae90671aa05
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Mon Nov 27 14:03:47 EST 2023
32 bit fixes.
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -1,4 +1,4 @@
-name: C/C++ CI
+name: MicroHs CI
on:
push:
@@ -43,22 +43,22 @@
- name: nmake exampletest
run: nmake -f Makefile.windows exampletest
- build-linux-32:
- runs-on: ubuntu-latest
- steps:
- - uses: jirutka/setup-alpine@v1
- with:
- arch: x86
- branch: v3.15
- packages: >
- build-base
- gcc
- make
- - name: checkout repo
- uses: actions/checkout@v3
- - name: make
- run: make CONF=unix-32
- shell: alpine.sh {0}- - name: make everytestmhs
- run: make CONF=unix-32 everytestmhs
- shell: alpine.sh {0}+# build-linux-32:
+# runs-on: ubuntu-latest
+# steps:
+# - uses: jirutka/setup-alpine@v1
+# with:
+# arch: x86
+# branch: v3.15
+# packages: >
+# build-base
+# gcc
+# make
+# - name: checkout repo
+# uses: actions/checkout@v3
+# - name: make
+# run: make CONF=unix-32
+# shell: alpine.sh {0}+# - name: make everytestmhs
+# run: make CONF=unix-32 everytestmhs
+# shell: alpine.sh {0}--- a/src/runtime/eval.c
+++ b/src/runtime/eval.c
@@ -511,8 +511,10 @@
i++;
#if SANITY
if (i >= free_map_nwords) {+#if 0
fprintf(stderr, "wordsize=%d, num_free=%u next_scan_index=%u i=%u free_map_nwords=%u\n", (int)BITS_PER_WORD,
(unsigned int)num_free, (unsigned int)next_scan_index, (unsigned int)i, (unsigned int)free_map_nwords);
+#endif
ERR("alloc_node: free_map");}
#endif
@@ -958,7 +960,11 @@
FFI_PPI, FFI_PP, FFI_PPP, FFI_IPI, FFI_PV, FFI_IP, FFI_PPV,
} ffi_how;
} ffi_table[] = {+#if WORD_SIZE == 64
{ "llabs", (funptr_t)llabs, FFI_II },+#else /* WORD_SIZE */
+ { "llabs", (funptr_t)labs, FFI_II },+#endif /* WORD_SIZE */
#if WANT_MATH
// This is wrong(ish) for 32 bit floats.
{ "log", (funptr_t)log, FFI_DD },--
⑨