Skip to content

Commit

Permalink
Fix invalid NEON instructions for armv6 Raspberry Pi's (#49)
Browse files Browse the repository at this point in the history
* add march

* use cpu model without vfp

* disable boringssl neon

* use different method to disable neon

* disable arm cpu test when OPENSSL_STATIC_ARMCAP is defined

* tweak patch format

* disable test

* let macos use gpatch

* try disable asm again

* disable asm at cmake level

* reverse logic

* try soft float

* target even older arm chip

* try generic cpu model

* Revert "try generic cpu model"

This reverts commit 4892cdd.

* use cpu model without float

* manually tweak cpu features

* Only use mcpu

* Disable loop vectorization

* disable more vectorization

* try different vfp

* try another vector disable flag

* use latest zig snapshot

* more vectorize flags

* refactor to pass flags directly to zig

* Revert "use latest zig snapshot"

This reverts commit 2ad7947.

* try restoring original asm behavior
  • Loading branch information
bjia56 authored Mar 1, 2024
1 parent 6050737 commit 3f8ee08
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 13 deletions.
17 changes: 6 additions & 11 deletions .github/workflows/build-and-test-make.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,32 +24,27 @@ jobs:
CC: ${{ github.workspace }}/zigshim/cc
CXX: ${{ github.workspace }}/zigshim/cxx
AR: ${{ github.workspace }}/zigshim/ar
ZIG_TARGET: ${{ matrix.target }}
CFLAGS: ${{ matrix.cflags }}
ZIG_FLAGS: ${{ matrix.zigflags }}
strategy:
fail-fast: false
matrix:
include:
- arch: x86_64
target: x86_64-linux-gnu.2.17
host: x86_64-linux-gnu
capture_interface: eth0
cflags:
zigflags: -target x86_64-linux-gnu.2.17
- arch: i386
target: x86-linux-gnu.2.17
host: i386-linux-gnu
capture_interface: eth0
cflags:
zigflags: -target x86-linux-gnu.2.17
- arch: aarch64
target: aarch64-linux-gnu.2.17
host: aarch64-linux-gnu
capture_interface: eth0
cflags:
zigflags: -target aarch64-linux-gnu.2.17
- arch: arm
target: arm-linux-gnueabihf.2.17
host: arm-linux-gnueabihf
capture_interface: eth0
cflags: "-mfpu=vfp -mfloat-abi=hard -mcpu=arm1176jzf_s"
zigflags: -target arm-linux-gnueabihf.2.17 -mcpu=arm1176jzf_s
steps:
- name: Check out the repo
uses: actions/checkout@v2
Expand Down Expand Up @@ -246,7 +241,7 @@ jobs:

- name: Install macOS dependencies
run: |
brew install pkg-config make cmake ninja autoconf automake libtool
brew install pkg-config make cmake ninja autoconf automake libtool gpatch
# Chrome version dependencies, install only not installed.
which go || brew install go
# Needed to compile 'minicurl'
Expand Down
2 changes: 1 addition & 1 deletion zigshim/cc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
zig cc -target $ZIG_TARGET "$@"
zig cc $ZIG_FLAGS "$@"
2 changes: 1 addition & 1 deletion zigshim/cxx
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
zig c++ -target $ZIG_TARGET "$@"
zig c++ $ZIG_FLAGS "$@"

0 comments on commit 3f8ee08

Please sign in to comment.