Skip to content

ci: fix tricore-elf-gcc cc1 permissions#304

Merged
stephanosio merged 1 commit into
zephyrproject-rtos:mainfrom
linumiz:dev/ifx/tricore-upstream-build-fix
May 12, 2026
Merged

ci: fix tricore-elf-gcc cc1 permissions#304
stephanosio merged 1 commit into
zephyrproject-rtos:mainfrom
linumiz:dev/ifx/tricore-upstream-build-fix

Conversation

@parthitce

Copy link
Copy Markdown
Member

The aurix-gcc-toolchain release zip ships libexec/ contents without the unix exec bit. The previous chmod only covered bin/ and tricore-elf/bin/, leaving cc1, cc1plus, lto1, lto-wrapper and collect2 non-executable. Result was a hard-to-diagnose failure during devicetree preprocessing:

tricore-elf-gcc: fatal error: cannot execute 'cc1': execvp: No such file or directory

Recursively chmod +x the three known dirs and add a smoke compile at image build time so this never silently passes again.

Signed-off-by: Parthiban Nallathambi parthiban@linumiz.com

The aurix-gcc-toolchain release zip ships libexec/ contents without
the unix exec bit. The previous chmod only covered bin/ and
tricore-elf/bin/, leaving cc1, cc1plus, lto1, lto-wrapper and
collect2 non-executable. Result was a hard-to-diagnose failure
during devicetree preprocessing:

  tricore-elf-gcc: fatal error: cannot execute 'cc1':
                   execvp: No such file or directory

Recursively chmod +x the three known dirs and add a smoke compile
at image build time so this never silently passes again.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
@parthitce

Copy link
Copy Markdown
Member Author

@stephanosio Unfortunately I missed updating the permissions for cc1 and dependent files. This resulted in CI failure in zephyrproject-rtos/zephyr#107516 . Added the fix for it.

@stephanosio stephanosio merged commit 7d74b53 into zephyrproject-rtos:main May 12, 2026
3 checks passed
@parthitce parthitce deleted the dev/ifx/tricore-upstream-build-fix branch May 12, 2026 04:31
@parthitce

Copy link
Copy Markdown
Member Author

@stephanosio Thanks for merging the PR. Ping on tag creation and ideal date / planned routine for the tag creation.

parthitce added a commit to linumiz/zephyr-tricore that referenced this pull request Jun 1, 2026
Make CI complete on PR zephyrproject-rtos#107516 while waiting for the ci-repo-cache
image to pick up zephyrproject-rtos/docker-image#304 and zephyr PR
zephyrproject-rtos#107779 to land.

docker-image#304 (merged) recursively chmod +x the
/opt/toolchains/tricore-elf/{bin,tricore-elf/bin,libexec} dirs at
image build time, because the upstream aurix-gcc-toolchain release
zip ships libexec/ contents without the unix exec bit. The
ci-repo-cache image consumed by this workflow
(ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.29.2.20260422) was
built before that merge, so cc1, cc1plus, collect2, lto1 and
lto-wrapper come out non-executable and every TriCore twister
build fails at devicetree preprocess with:

    tricore-elf-gcc: fatal error: cannot execute 'cc1':
    execvp: No such file or directory

The proper fix path is:
  1. docker-ci-repo-cache cuts a new tag including zephyrproject-rtos#304       (pending)
  2. zephyr PR zephyrproject-rtos#107779 consumes the new tag                    (pending)
  3. this commit gets dropped                                  (after step 2)

Until then, run the same chmod inline in the workflow so zephyrproject-rtos#107516
can complete CI for review.

This commit MUST be dropped before merge.

DO NOT MERGE.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
parthitce added a commit to linumiz/zephyr-tricore that referenced this pull request Jun 1, 2026
Until ci-repo-cache picks up zephyrproject-rtos/docker-image#304 and
zephyr PR zephyrproject-rtos#107779 lands, chmod +x the tricore-elf libexec dir in the
twister workflow so cc1/cc1plus/lto1/collect2 become executable and
TriCore builds can complete.

Drop this commit once the new ci-repo-cache image is in use.

DO NOT MERGE.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
parthitce added a commit to linumiz/zephyr-tricore that referenced this pull request Jun 1, 2026
Until ci-repo-cache picks up zephyrproject-rtos/docker-image#304 and
zephyr PR zephyrproject-rtos#107779 lands, chmod +x the tricore-elf libexec dir in the
twister workflow so cc1/cc1plus/lto1/collect2 become executable and
TriCore builds can complete.

Drop this commit once the new ci-repo-cache image is in use.

DO NOT MERGE.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
parthitce added a commit to linumiz/zephyr-tricore that referenced this pull request Jun 7, 2026
Until ci-repo-cache picks up zephyrproject-rtos/docker-image#304 and
zephyr PR zephyrproject-rtos#107779 lands, chmod +x the tricore-elf libexec dir in the
twister workflow so cc1/cc1plus/lto1/collect2 become executable and
TriCore builds can complete.

Drop this commit once the new ci-repo-cache image is in use.

DO NOT MERGE.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
@parthitce

Copy link
Copy Markdown
Member Author

@stephanosio @nashif ping for tag creation with the compiler changes for TriCore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants