elf/cmdline.cc: Add missing references in range-for loops #3778
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 | |
jobs: | |
build-clang: | |
strategy: | |
matrix: | |
target: | |
# Disable PCH for the default configuration. This prevents relying on implicit includes. | |
- '-DCMAKE_DISABLE_PRECOMPILE_HEADERS=On' | |
- '-DMOLD_USE_ASAN=On' | |
- '-DMOLD_USE_TSAN=On' | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: rui314/setup-mold@v1 | |
- name: install-build-deps | |
run: sudo ./install-build-deps.sh | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
- name: build | |
run: | | |
echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH | |
sudo apt-get install -y clang++-12 | |
mkdir build | |
cd build | |
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++-12 ${{ matrix.target }} .. | |
cmake --build . -j$(nproc) | |
- name: test | |
run: | | |
cd build | |
ctest -j$(nproc) | |
- name: archive test results | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: test-results-clang | |
path: | | |
build | |
!build/CMakeFiles | |
build-gcc: | |
runs-on: ubuntu-20.04 | |
container: gcc:11.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install-build-deps | |
shell: bash | |
run: | | |
# Install cross toolchains | |
./install-build-deps.sh | |
./install-cross-tools.sh | |
# Install a RV32 toolchain from third party since it's not available | |
# as an Ubuntu package. | |
mkdir /usr/local/rv32 | |
wget -O- -q https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2023.07.07/riscv32-glibc-ubuntu-20.04-gcc-nightly-2023.07.07-nightly.tar.gz | tar -C /usr/local/rv32 --strip-components=1 -xzf - | |
ln -sf /usr/local/rv32/sysroot /usr/riscv32-linux-gnu | |
echo '/usr/local/rv32/bin/riscv32-unknown-linux-gnu-gcc -L/usr/riscv32-linux-gnu "$@"' > /usr/bin/riscv32-linux-gnu-gcc | |
echo '/usr/local/rv32/bin/riscv32-unknown-linux-gnu-g++ -L/usr/riscv32-linux-gnu "$@"' > /usr/bin/riscv32-linux-gnu-g++ | |
chmod 755 /usr/bin/riscv32-linux-gnu-{gcc,g++} | |
for i in objdump objcopy strip; do | |
ln -sf /usr/local/rv32/bin/riscv32-unknown-linux-gnu-$i /usr/bin/riscv32-linux-gnu-$i | |
done | |
# Install a LoongArch toolchain | |
mkdir /usr/local/larch | |
wget -O- -q https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz | tar -C /usr/local/larch --strip-components=1 --xz -xf - | |
ln -sf /usr/local/larch/target /usr/loongarch64-linux-gnu | |
cp -r /usr/local/larch/loongarch64-unknown-linux-gnu/lib/* /usr/loongarch64-linux-gnu/lib64/ | |
for i in objdump objcopy strip; do | |
ln -sf /usr/local/larch/bin/loongarch64-unknown-linux-gnu-$i /usr/bin/loongarch64-linux-gnu-$i | |
done | |
echo '/usr/local/larch/bin/loongarch64-unknown-linux-gnu-gcc -L/usr/local/larch/loongarch64-unknown-linux-gnu "$@"' > /usr/bin/loongarch64-linux-gnu-gcc | |
echo '/usr/local/larch/bin/loongarch64-unknown-linux-gnu-g++ -L/usr/local/larch/loongarch64-unknown-linux-gnu "$@"' > /usr/bin/loongarch64-linux-gnu-g++ | |
chmod 755 /usr/bin/loongarch64-linux-gnu-{gcc,g++} | |
wget -O/usr/local/bin/qemu-loongarch64 -q https://github.com/loongson/build-tools/releases/download/2023.08.08/qemu-loongarch64 | |
chmod 755 /usr/local/bin/qemu-loongarch64 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
- name: build | |
run: | | |
echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH | |
mkdir build | |
cd build | |
cmake .. | |
cmake --build . -j$(nproc) | |
- name: test | |
run: | | |
cd build | |
ctest -j$(nproc) | |
- name: archive test results | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: test-results-gcc | |
path: | | |
build | |
!build/CMakeFiles | |
build-macos: | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
target: | |
# Disable PCH for the default configuration. This prevents relying on implicit includes. | |
- '-DCMAKE_DISABLE_PRECOMPILE_HEADERS=On' | |
- '-DMOLD_USE_ASAN=On' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: ccache | |
uses: hendrikmuhs/ccache-action@v1 | |
- name: build | |
run: | | |
echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH | |
mkdir build | |
cd build | |
cmake ${{ matrix.target }} .. | |
cmake --build . -j$(sysctl -n hw.physicalcpu) | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -T clangcl .. | |
cmake --build . -j $Env:NUMBER_OF_PROCESSORS |