diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c6d06e04a93..1af17ff8535 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -51,7 +51,7 @@ jobs: # === PREPARE FOR BUILDING === - - name: Lint (Phase 1/2) + - name: Lint run: ${{ github.workspace }}/Meta/lint-ci.sh - name: Restore Caches @@ -135,12 +135,6 @@ jobs: toolchain_prebuilt_primary_key: ${{ steps.cache-restore.outputs.toolchain_prebuilt_primary_key }} toolchain_prebuilt_hit: ${{ steps.cache-restore.outputs.toolchain_prebuilt_hit }} - - name: Lint (Phase 2/2) - working-directory: ${{ github.workspace }}/Meta - env: - SERENITY_ARCH: ${{ matrix.arch }} - run: ./check-symbols.sh - - name: Create Serenity Rootfs if: ${{ matrix.debug-options == 'NORMAL_DEBUG' }} working-directory: ${{ github.workspace }}/Build/${{ matrix.arch }} diff --git a/Meta/check-symbols.sh b/Meta/check-symbols.sh deleted file mode 100755 index ae36789c58c..00000000000 --- a/Meta/check-symbols.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) -cd "$script_path/.." || exit 1 - -# The __cxa_guard_* calls are generated for (non trivial) initialization of local static objects. -# These symbols are OK to use within serenity code, but they are problematic in LibC because their -# existence breaks ports (the implementation of these symbols resides in libstdc++.a which we do not link against in ports). -# To eliminate the need for these symbols, avoid doing non-trivial construction of local statics in LibC. - -FORBIDDEN_SYMBOLS="__cxa_guard_acquire __cxa_guard_release" -TARGET="${SERENITY_ARCH:-"x86_64"}" -LIBC_PATH="Build/${TARGET}/Userland/Libraries/LibC/libc.a" -for forbidden_symbol in $FORBIDDEN_SYMBOLS; do - # check if there's an undefined reference to the symbol & it is not defined anywhere else in the library - nm "$LIBC_PATH" | grep "U $forbidden_symbol" - APPEARS_AS_UNDEFINED=$? - nm "$LIBC_PATH" | grep "T $forbidden_symbol" - APPEARS_AS_DEFINED=$? - if [ $APPEARS_AS_UNDEFINED -eq 0 ] && [ ! $APPEARS_AS_DEFINED -eq 0 ]; then - echo "Forbidden undefined symbol in LibC: $forbidden_symbol" - echo "See comment in Meta/check-symbols.sh for more info" - exit 1 - fi -done diff --git a/Meta/lint-ci.sh b/Meta/lint-ci.sh index de8129ff3be..3710af4374a 100755 --- a/Meta/lint-ci.sh +++ b/Meta/lint-ci.sh @@ -75,6 +75,4 @@ if [ "$ports" = true ]; then fi fi -echo "(Also look out for check-symbols.sh, which can only be executed after the build!)" - exit "${FAILURES}"