Skip to content

[lld][COFF] Don't fill a code section's file-alignment tail on i386 #104

[lld][COFF] Don't fill a code section's file-alignment tail on i386

[lld][COFF] Don't fill a code section's file-alignment tail on i386 #104

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@v4
- uses: llvm/actions/setup-windows@a1ea791b03c8e61f53a0e66f2f73db283aa0f01e
if: ${{ runner.os == 'Windows' }}
- name: Install Ninja
uses: llvm/actions/install-ninja@a1ea791b03c8e61f53a0e66f2f73db283aa0f01e
- name: Configure llvm cmake
uses: llvm/actions/configure-llvm-project@a1ea791b03c8e61f53a0e66f2f73db283aa0f01e
with:
cmake_args: -Bbuild -Sllvm -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_PROJECTS="lld;clang"
- name: Build llvm core
run: cmake --build build --target LLVMCore
- name: Build llvm code gen
run: cmake --build build --target LLVMCodeGen
- name: Build llvm x86 code gen
run: cmake --build build --target LLVMX86CodeGen
- name: Build clang
run: cmake --build build --target clang
- name: Build llvm-objcopy
run: cmake --build build --target llvm-objcopy
- name: Build llvm-strip
run: cmake --build build --target llvm-strip
- name: Build llvm-rc
run: cmake --build build --target llvm-rc
- name: Build llvm-ar
run: cmake --build build --target llvm-ar
- name: Build lld
run: cmake --build build --target lld
- name: Install everything
run: |
cmake --install build --prefix install --component clang
cmake --install build --prefix install --component lld
cmake --install build --prefix install --component llvm-objcopy
cmake --install build --prefix install --component llvm-strip
cmake --install build --prefix install --component llvm-rc
cmake --install build --prefix install --component llvm-ar
cmake --install build --prefix install --component clang-resource-headers
# Zip the install tree here (bin/ lib/ at the root, matching what
# tools/download_tool.py extracts) so the artifact is the final asset
# and the release job needs no re-zip. pwsh + Compress-Archive runs on
# both ubuntu and windows runners.
- name: Package install tree
shell: pwsh
run: Compress-Archive -Path install/* -DestinationPath llvm-${{ matrix.os }}.zip
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: llvm-${{ matrix.os }}
path: llvm-${{ matrix.os }}.zip
release:
name: Release
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [ build ]
permissions:
contents: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Release
uses: softprops/action-gh-release@v2
with:
files: artifacts/**/*.zip
draft: false
generate_release_notes: true