Skip to content

Commit

Permalink
Merge pull request #750 from nathanchance/arm32-kcfi
Browse files Browse the repository at this point in the history
Add a CONFIG_CFI_CLANG build for ARCH=arm on -next with LLVM >= 16
  • Loading branch information
nathanchance authored May 3, 2024
2 parents aac84c2 + abc1438 commit eddae8c
Show file tree
Hide file tree
Showing 13 changed files with 157 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/next-clang-16.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,34 @@ jobs:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_6caf4470519e51764e10589f05d70d73:
runs-on: ubuntu-latest
needs:
- kick_tuxsuite_defconfigs
- check_cache
name: ARCH=arm LLVM=1 LLVM_IAS=1 LLVM_VERSION=16 multi_v7_defconfig+CONFIG_CFI_CLANG=y
if: ${{ needs.check_cache.outputs.status != 'pass' }}
env:
ARCH: arm
LLVM_VERSION: 16
BOOT: 1
CONFIG: multi_v7_defconfig+CONFIG_CFI_CLANG=y
REPO_SCOPED_PAT: ${{ secrets.REPO_SCOPED_PAT }}
container:
image: ghcr.io/clangbuiltlinux/qemu
options: --ipc=host
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/download-artifact@v4
with:
name: output_artifact_defconfigs
- uses: actions/download-artifact@v4
with:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_99f832d1047e3cd59873b7d37a5f9dd7:
runs-on: ubuntu-latest
needs:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/next-clang-17.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,34 @@ jobs:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_dbcc7c8c97a20736fe248501b8b18733:
runs-on: ubuntu-latest
needs:
- kick_tuxsuite_defconfigs
- check_cache
name: ARCH=arm LLVM=1 LLVM_IAS=1 LLVM_VERSION=17 multi_v7_defconfig+CONFIG_CFI_CLANG=y
if: ${{ needs.check_cache.outputs.status != 'pass' }}
env:
ARCH: arm
LLVM_VERSION: 17
BOOT: 1
CONFIG: multi_v7_defconfig+CONFIG_CFI_CLANG=y
REPO_SCOPED_PAT: ${{ secrets.REPO_SCOPED_PAT }}
container:
image: ghcr.io/clangbuiltlinux/qemu
options: --ipc=host
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/download-artifact@v4
with:
name: output_artifact_defconfigs
- uses: actions/download-artifact@v4
with:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_6c5f5d7bdbae9a86515c356aafd40713:
runs-on: ubuntu-latest
needs:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/next-clang-18.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,34 @@ jobs:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_67e1fcae7d2eeb4ad0f5528446acd86d:
runs-on: ubuntu-latest
needs:
- kick_tuxsuite_defconfigs
- check_cache
name: ARCH=arm LLVM=1 LLVM_IAS=1 LLVM_VERSION=18 multi_v7_defconfig+CONFIG_CFI_CLANG=y
if: ${{ needs.check_cache.outputs.status != 'pass' }}
env:
ARCH: arm
LLVM_VERSION: 18
BOOT: 1
CONFIG: multi_v7_defconfig+CONFIG_CFI_CLANG=y
REPO_SCOPED_PAT: ${{ secrets.REPO_SCOPED_PAT }}
container:
image: ghcr.io/clangbuiltlinux/qemu
options: --ipc=host
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/download-artifact@v4
with:
name: output_artifact_defconfigs
- uses: actions/download-artifact@v4
with:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_d7ad2c4a096dccb5b24d52248c8608ca:
runs-on: ubuntu-latest
needs:
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/next-clang-19.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,34 @@ jobs:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_bca6d618b51d85b3925a9169685f6e71:
runs-on: ubuntu-latest
needs:
- kick_tuxsuite_defconfigs
- check_cache
name: ARCH=arm LLVM=1 LLVM_IAS=1 LLVM_VERSION=19 multi_v7_defconfig+CONFIG_CFI_CLANG=y
if: ${{ needs.check_cache.outputs.status != 'pass' }}
env:
ARCH: arm
LLVM_VERSION: 19
BOOT: 1
CONFIG: multi_v7_defconfig+CONFIG_CFI_CLANG=y
REPO_SCOPED_PAT: ${{ secrets.REPO_SCOPED_PAT }}
container:
image: ghcr.io/clangbuiltlinux/qemu
options: --ipc=host
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/download-artifact@v4
with:
name: output_artifact_defconfigs
- uses: actions/download-artifact@v4
with:
name: boot_utils_json_defconfigs
- name: Check Build and Boot Logs
run: scripts/check-logs.py
_8264e293bd3e23724234f37778bc3a15:
runs-on: ubuntu-latest
needs:
Expand Down
1 change: 1 addition & 0 deletions generator/yml/0007-configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ configs:
- &arm32_v6 {config: aspeed_g5_defconfig, ARCH: *arm-arch, << : *kernel_dtbs}
- &arm32_v7 {config: multi_v7_defconfig, ARCH: *arm-arch, << : *kernel}
- &arm32_v7_t {config: [multi_v7_defconfig, CONFIG_THUMB2_KERNEL=y], ARCH: *arm-arch, << : *kernel}
- &arm32_cfi {config: [multi_v7_defconfig, CONFIG_CFI_CLANG=y], ARCH: *arm-arch, << : *kernel}
- &arm32_imx {config: imx_v4_v5_defconfig, ARCH: *arm-arch, << : *default}
- &arm32_omap {config: omap2plus_defconfig, ARCH: *arm-arch, << : *default}
- &arm32_lpae_fp {config: [multi_v7_defconfig, CONFIG_ARM_LPAE=y, CONFIG_UNWINDER_FRAME_POINTER=y], ARCH: *arm-arch, << : *kernel}
Expand Down
1 change: 1 addition & 0 deletions generator/yml/0009-llvm-16.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
- {<< : *arm32_v6, << : *next, << : *llvm_full, boot: true, << : *llvm_16}
- {<< : *arm32_v7, << : *next, << : *llvm_full, boot: true, << : *llvm_16}
- {<< : *arm32_v7_t, << : *next, << : *llvm_full, boot: true, << : *llvm_16}
- {<< : *arm32_cfi, << : *next, << : *llvm_full, boot: true, << : *llvm_16}
- {<< : *arm32_imx, << : *next, << : *llvm_full, boot: false, << : *llvm_16}
- {<< : *arm32_omap, << : *next, << : *llvm_full, boot: false, << : *llvm_16}
- {<< : *arm32_lpae_fp, << : *next, << : *llvm_full, boot: true, << : *llvm_16}
Expand Down
1 change: 1 addition & 0 deletions generator/yml/0009-llvm-17.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
- {<< : *arm32_v6, << : *next, << : *llvm_full, boot: true, << : *llvm_17}
- {<< : *arm32_v7, << : *next, << : *llvm_full, boot: true, << : *llvm_17}
- {<< : *arm32_v7_t, << : *next, << : *llvm_full, boot: true, << : *llvm_17}
- {<< : *arm32_cfi, << : *next, << : *llvm_full, boot: true, << : *llvm_17}
- {<< : *arm32_imx, << : *next, << : *llvm_full, boot: false, << : *llvm_17}
- {<< : *arm32_omap, << : *next, << : *llvm_full, boot: false, << : *llvm_17}
- {<< : *arm32_lpae_fp, << : *next, << : *llvm_full, boot: true, << : *llvm_17}
Expand Down
1 change: 1 addition & 0 deletions generator/yml/0009-llvm-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
- {<< : *arm32_v6, << : *next, << : *llvm_full, boot: true, << : *llvm_latest}
- {<< : *arm32_v7, << : *next, << : *llvm_full, boot: true, << : *llvm_latest}
- {<< : *arm32_v7_t, << : *next, << : *llvm_full, boot: true, << : *llvm_latest}
- {<< : *arm32_cfi, << : *next, << : *llvm_full, boot: true, << : *llvm_latest}
- {<< : *arm32_imx, << : *next, << : *llvm_full, boot: false, << : *llvm_latest}
- {<< : *arm32_omap, << : *next, << : *llvm_full, boot: false, << : *llvm_latest}
- {<< : *arm32_lpae_fp, << : *next, << : *llvm_full, boot: true, << : *llvm_latest}
Expand Down
1 change: 1 addition & 0 deletions generator/yml/0009-llvm-tot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
- {<< : *arm32_v6, << : *next, << : *llvm_full, boot: true, << : *llvm_tot}
- {<< : *arm32_v7, << : *next, << : *llvm_full, boot: true, << : *llvm_tot}
- {<< : *arm32_v7_t, << : *next, << : *llvm_full, boot: true, << : *llvm_tot}
- {<< : *arm32_cfi, << : *next, << : *llvm_full, boot: true, << : *llvm_tot}
- {<< : *arm32_imx, << : *next, << : *llvm_full, boot: false, << : *llvm_tot}
- {<< : *arm32_omap, << : *next, << : *llvm_full, boot: false, << : *llvm_tot}
- {<< : *arm32_lpae_fp, << : *next, << : *llvm_full, boot: true, << : *llvm_tot}
Expand Down
10 changes: 10 additions & 0 deletions tuxsuite/next-clang-16.tux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ jobs:
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-16
kconfig:
- multi_v7_defconfig
- CONFIG_CFI_CLANG=y
targets:
- kernel
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-16
kconfig: imx_v4_v5_defconfig
Expand Down
10 changes: 10 additions & 0 deletions tuxsuite/next-clang-17.tux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ jobs:
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-17
kconfig:
- multi_v7_defconfig
- CONFIG_CFI_CLANG=y
targets:
- kernel
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-17
kconfig: imx_v4_v5_defconfig
Expand Down
10 changes: 10 additions & 0 deletions tuxsuite/next-clang-18.tux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ jobs:
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-18
kconfig:
- multi_v7_defconfig
- CONFIG_CFI_CLANG=y
targets:
- kernel
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: korg-clang-18
kconfig: imx_v4_v5_defconfig
Expand Down
10 changes: 10 additions & 0 deletions tuxsuite/next-clang-19.tux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ jobs:
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: clang-nightly
kconfig:
- multi_v7_defconfig
- CONFIG_CFI_CLANG=y
targets:
- kernel
make_variables:
LLVM: 1
LLVM_IAS: 1
- target_arch: arm
toolchain: clang-nightly
kconfig: imx_v4_v5_defconfig
Expand Down

0 comments on commit eddae8c

Please sign in to comment.