Skip to content

Conversation

@Prabhuk
Copy link
Contributor

@Prabhuk Prabhuk commented Nov 11, 2025

Currently there are no 32 bit presubmit builds for libc. This PR
performs 32 bit build only (no test) to check any changes that land in
libc break 32 bit builds.

Co-authored-by: Aiden Grossman aidengrossman@google.com

Currently there are no 32 bit presubmit builds for libc. This PR
performs 32 bit build only (no test) to check any changes that land in
libc break 32 bit builds.
@llvmbot
Copy link
Member

llvmbot commented Nov 11, 2025

@llvm/pr-subscribers-github-workflow

Author: Prabhu Rajasekaran (Prabhuk)

Changes

Currently there are no 32 bit presubmit builds for libc. This PR
performs 32 bit build only (no test) to check any changes that land in
libc break 32 bit builds.


Full diff: https://github.com/llvm/llvm-project/pull/167583.diff

1 Files Affected:

  • (modified) .github/workflows/libc-fullbuild-tests.yml (+24)
diff --git a/.github/workflows/libc-fullbuild-tests.yml b/.github/workflows/libc-fullbuild-tests.yml
index 3a048aeb9405b..dfa4c8e4c4764 100644
--- a/.github/workflows/libc-fullbuild-tests.yml
+++ b/.github/workflows/libc-fullbuild-tests.yml
@@ -24,30 +24,42 @@ jobs:
             cpp_compiler: clang++-22
             target: x86_64-unknown-linux-llvm
             include_scudo: ON
+            enable_baremetal_build: OFF
           - os: ubuntu-24.04
             build_type: Release
             c_compiler: clang-22
             cpp_compiler: clang++-22
             target: x86_64-unknown-linux-llvm
             include_scudo: ON
+            enable_baremetal_build: OFF
           - os: ubuntu-24.04
             build_type: MinSizeRel
             c_compiler: clang-22
             cpp_compiler: clang++-22
             target: x86_64-unknown-linux-llvm
             include_scudo: ON
+            enable_baremetal_build: OFF
           - os: ubuntu-24.04-arm
             build_type: Debug
             c_compiler: clang-22
             cpp_compiler: clang++-22
             target: aarch64-unknown-linux-llvm
             include_scudo: ON
+            enable_baremetal_build: OFF
           - os: ubuntu-24.04
             build_type: Debug
             c_compiler: clang-22
             cpp_compiler: clang++-22
             target: x86_64-unknown-uefi-llvm
             include_scudo: OFF
+            enable_baremetal_build: OFF
+          - os: ubuntu-24.04
+            build__type: Release
+            c_compiler: clang-22
+            cpp_compiler: clang++-22
+            target: armv6m-none-eabi
+            include_scudo: OFF
+            enable_baremetal_build: ON
           # TODO: add back gcc build when it is fixed
           # - c_compiler: gcc
           #   cpp_compiler: g++
@@ -102,6 +114,18 @@ jobs:
             -DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=OFF"
         fi
 
+        if [[ ${{ matrix.enable_baremetal_build}} == "ON" ]]; then
+            export RUNTIMES="$RUNTIMES;libc"
+            export CMAKE_FLAGS="
+              -DCMAKE_BUILD_TYPE=Release
+              -DLLVM_LIBC_FULL_BUILD=ON
+              -DCMAKE_C_COMPILER_TARGET=armv6m-none-abi
+              -DCMAKE_CXX_COMPILER_TARGET=armv6m-none-abi
+              -DCMAKE_ASM_COMPILER_TARGET=armv6m-none-abi
+              -DCMAKE_C_FLAGS=-mfloat-abi=soft
+              -DCMAKE_CXX_FLAGS=-mfloat-abi=soft"
+        fi
+
         cmake -B ${{ steps.strings.outputs.build-output-dir }} \
         -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \
         -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \

@Prabhuk Prabhuk marked this pull request as draft November 11, 2025 21:33
@Prabhuk Prabhuk marked this pull request as ready for review November 11, 2025 22:24
@Prabhuk
Copy link
Contributor Author

Prabhuk commented Nov 11, 2025

@boomanaiden154 -- Not able to kick off armv6m config with my changes. Can you PTAL why?

@boomanaiden154
Copy link
Contributor

Invalid workflow definition https://github.com/Prabhuk/llvm-project/actions/runs/19280147652.

You can see those kinds of failures in your forks actions page: https://github.com/Prabhuk/llvm-project/actions.

@Prabhuk Prabhuk marked this pull request as draft November 11, 2025 22:34
@Prabhuk
Copy link
Contributor Author

Prabhuk commented Nov 11, 2025

Thank you @boomanaiden154
The config attempt is made after my changes though they break:
https://github.com/llvm/llvm-project/actions/runs/19280310278/job/55129774341?pr=167583

I'll try to address them next.

@zwuis
Copy link
Contributor

zwuis commented Nov 12, 2025

@Prabhuk Prabhuk marked this pull request as ready for review November 13, 2025 02:09
@Prabhuk
Copy link
Contributor Author

Prabhuk commented Nov 13, 2025

Co-Authored by: @boomanaiden154

Should be Co-authored-by: name <name@example.com>.

https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors

@boomanaiden154 -- which email address of yours should I use here?

@boomanaiden154
Copy link
Contributor

which email address of yours should I use here?

aidengrossman@google.com is what I'm using these days for my LLVM contributions.

Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Github Actions changes LGTM.

It would be good for Petr to sign off on the CMake cache changes though. The flags you have to set for some of the ARM targets are a bit weird.

@Prabhuk Prabhuk merged commit b32c434 into llvm:main Nov 17, 2025
26 of 27 checks passed
target: x86_64-unknown-uefi-llvm
include_scudo: OFF
- os: ubuntu-24.04
build__type: MinSizeRel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is double underscore intended here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely not. Thanks for catching this. I'll send a patch.

Prabhuk added a commit to Prabhuk/llvm-project that referenced this pull request Nov 17, 2025
There is an extra underscore in build_type param in llvm#167583 patch.
Fixing it in this PR.
Prabhuk added a commit that referenced this pull request Nov 17, 2025
There is an extra underscore in build_type param in #167583 patch.
Fixing it in this PR.
@Prabhuk Prabhuk deleted the libc_arm32_build branch November 17, 2025 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants