@@ -117,7 +117,9 @@ jobs:
117
117
cc_ver : ['9','12']
118
118
t :
119
119
# qemu x86 doesn't support AVX, so we use Intel SDE instead
120
- - {arch: 'i386', target: 'i686-linux-gnu', libc: 'i386', emu: '$SDE_PATH/sde -icx --'}
120
+ # but i386 SDE seems to always segfault on GHA; unable to reproduce the issue locally though
121
+ # - `sde -version` does emit "FATAL: cannot determine kernel version"
122
+ - {arch: 'i386', target: 'i686-linux-gnu', libc: 'i386', emu: 'qemu-i386-static -L /usr/i686-linux-gnu -cpu max'}
121
123
- {arch: 'amd64', target: 'x86-64-linux-gnu', libc: 'amd64', emu: '$SDE_PATH/sde64 -icx --'}
122
124
- {arch: 'aarch64', target: 'aarch64-linux-gnu', libc: 'arm64', emu: 'qemu-aarch64-static -L /usr/aarch64-linux-gnu -cpu max,sve-max-vq=4'}
123
125
- {arch: 'arm', target: 'arm-linux-gnueabihf', libc: 'armhf', emu: 'qemu-arm-static -L /usr/arm-linux-gnueabihf -cpu max'}
@@ -148,9 +150,9 @@ jobs:
148
150
- run : |
149
151
echo -e "deb http://azure.archive.ubuntu.com/ubuntu mantic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/mantic.list
150
152
sudo apt update
151
- if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' }} # RVV unavailable in Ubuntu 22.04's qemu
153
+ if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' || matrix.t.arch == 'i386' }} # RVV unavailable in Ubuntu 22.04's qemu
152
154
- run : sudo apt install -y --no-install-recommends qemu-user-static
153
- if : ${{ matrix.t.arch != 'amd64' && matrix.t.arch != 'i386' }}
155
+ if : ${{ matrix.t.arch != 'amd64' }}
154
156
- run : |
155
157
mkdir test/gf16/build
156
158
cmake -Btest/gf16/build -Stest/gf16 -DSKIP_AUX=1 -DCMAKE_BUILD_TYPE=${{ matrix.config }} \
@@ -173,15 +175,6 @@ jobs:
173
175
cmake --build test/hasher/build
174
176
- run : sudo apt install -y libc6:i386 libstdc++6:i386
175
177
if : ${{ matrix.t.arch == 'i386' }}
176
- # diagnose odd i386 SDE failure
177
- - run : |
178
- $SDE_PATH/sde -version
179
- echo 'int main(void){return 0;}' > a.c
180
- $CC -static a.c
181
- $SDE_PATH/sde -- ./a.out
182
- $CC a.c
183
- $SDE_PATH/sde -- ./a.out
184
- if: ${{ matrix.t.arch == 'i386' }}
185
178
- run : ${{ matrix.t.emu }} test/gf16/build/test
186
179
- run : ${{ matrix.t.emu }} test/gf16/build/test-pmul
187
180
- run : ${{ matrix.t.emu }} test/gf16/build/test-ctrl -f
@@ -198,7 +191,7 @@ jobs:
198
191
# Clang 6 available in 20.04
199
192
cc_ver : ['11','15']
200
193
t :
201
- - {arch: 'i386', target: 'i686-linux-gnu', cl_target: 'i386-linux-gnu', libc: 'i386', emu: '$SDE_PATH/sde -icx -- '}
194
+ - {arch: 'i386', target: 'i686-linux-gnu', cl_target: 'i386-linux-gnu', libc: 'i386', emu: 'qemu-i386-static -L /usr/i686-linux-gnu -cpu max '}
202
195
- {arch: 'amd64', target: 'x86-64-linux-gnu', cl_target: 'x86_64-linux-gnu', libc: 'amd64', emu: '$SDE_PATH/sde64 -icx --'}
203
196
- {arch: 'aarch64', target: 'aarch64-linux-gnu', cl_target: 'aarch64-linux-gnu', libc: 'arm64', emu: 'qemu-aarch64-static -L /usr/aarch64-linux-gnu -cpu max,sve-max-vq=4'}
204
197
- {arch: 'arm', target: 'arm-linux-gnueabihf', cl_target: 'armv7a-linux-gnueabihf', libc: 'armhf', emu: 'qemu-arm-static -L /usr/arm-linux-gnueabihf -cpu max'}
@@ -221,9 +214,9 @@ jobs:
221
214
- run : |
222
215
echo -e "deb http://azure.archive.ubuntu.com/ubuntu mantic main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/mantic.list
223
216
sudo apt update
224
- if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' }} # RVV unavailable in Ubuntu 22.04's qemu
217
+ if: ${{ matrix.t.arch == 'riscv64' || matrix.t.arch == 'riscv32' || matrix.t.arch == 'i386' }} # RVV unavailable in Ubuntu 22.04's qemu
225
218
- run : sudo apt install -y --no-install-recommends qemu-user-static
226
- if : ${{ matrix.t.arch != 'amd64' && matrix.t.arch != 'i386' }}
219
+ if : ${{ matrix.t.arch != 'amd64' }}
227
220
# - run: echo "SANITIZE=-DENABLE_SANITIZE=1" >> $GITHUB_ENV
228
221
# if: ${{ matrix.config == 'Release' && matrix.t.arch == 'amd64' && matrix.cc_ver == '15' }} # SDE+ASAN problematic with Clang 11, random hangs with Clang 15
229
222
- run : |
@@ -347,31 +340,32 @@ jobs:
347
340
timeout-minutes : 45
348
341
steps :
349
342
- uses : actions/checkout@v3
343
+ - run : |
344
+ curl http://musl.cc/x86_64-linux-muslx32-native.tgz | tar zxf -
345
+ MUSL_BIN=`pwd`/x86_64-linux-muslx32-native/bin/x86_64-linux-muslx32
346
+
347
+ mkdir test/gf16/build
348
+ cmake -Btest/gf16/build -Stest/gf16 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
349
+ -DCMAKE_C_COMPILER=$MUSL_BIN-cc \
350
+ -DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
351
+ -DCMAKE_SYSTEM_PROCESSOR=amd64 \
352
+ -DCMAKE_SYSTEM_NAME=Linux
353
+ cmake --build test/gf16/build
354
+
355
+ mkdir test/hasher/build
356
+ cmake -Btest/hasher/build -Stest/hasher -DSKIP_AUX=1 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
357
+ -DCMAKE_C_COMPILER=$MUSL_BIN-cc \
358
+ -DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
359
+ -DCMAKE_SYSTEM_PROCESSOR=amd64 \
360
+ -DCMAKE_SYSTEM_NAME=Linux
361
+ cmake --build test/hasher/build
362
+
363
+ rm -rf ./x86_64-linux-muslx32-native
364
+
350
365
- uses : leleliu008/github-actions-vagrant@v1
351
366
with :
352
367
box : generic/debian12
353
368
run : |
354
- apt update && apt install -y build-essential cmake curl
355
- curl http://musl.cc/x86_64-linux-muslx32-native.tgz | tar zxf -
356
-
357
- MUSL_BIN=`pwd`/x86_64-linux-muslx32-native/bin/x86_64-linux-muslx32
358
-
359
- mkdir test/gf16/build
360
- cmake -Btest/gf16/build -Stest/gf16 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
361
- -DCMAKE_C_COMPILER=$MUSL_BIN-cc \
362
- -DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
363
- -DCMAKE_SYSTEM_PROCESSOR=amd64 \
364
- -DCMAKE_SYSTEM_NAME=Linux
365
- cmake --build test/gf16/build
366
-
367
- mkdir test/hasher/build
368
- cmake -Btest/hasher/build -Stest/hasher -DSKIP_AUX=1 -DSTATIC_LINK=1 -DCMAKE_BUILD_TYPE=Release \
369
- -DCMAKE_C_COMPILER=$MUSL_BIN-cc \
370
- -DCMAKE_CXX_COMPILER=$MUSL_BIN-c++ \
371
- -DCMAKE_SYSTEM_PROCESSOR=amd64 \
372
- -DCMAKE_SYSTEM_NAME=Linux
373
- cmake --build test/hasher/build
374
-
375
369
test/gf16/build/test
376
370
test/gf16/build/test-pmul
377
371
test/hasher/build/test
0 commit comments