Meta: Remove check-symbols.sh

check-symbols.sh had been dealing with libc.a which we don't provide
anymore.
This commit is contained in:
Dan Klishch 2024-05-07 22:56:10 -04:00 committed by Andrew Kaster
parent b0b1817b06
commit 8d3eb937c8
Notes: sideshowbarker 2024-07-17 05:00:08 +09:00
3 changed files with 1 additions and 34 deletions

View file

@ -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 }}

View file

@ -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

View file

@ -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}"