[Build] (P13 W7): the library links from module OBJECT targets along the ratchet's partition, and a server-only link check target must link without the frontend modules.

This commit is contained in:
2026-10-06 19:50:31 -04:00
parent 3fb0054e79
commit 9fa61b84a5
4 changed files with 302 additions and 54 deletions
+19
View File
@@ -0,0 +1,19 @@
// MobileGL - tools/server_link_check/Exempt.cpp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
//
// P13 W7 (D12): the one definition every named exemption of the server-only link check resolves to
// (scripts/ci/server_link_check.py writes `--defsym=<symbol>=mgl_server_link_check_exempt` for each
// frontend reference the link ratchet's baseline names). The check target is a link proof and is
// never loaded; reaching this would mean a server image called into the frontend half.
#include <cstdio>
#include <cstdlib>
extern "C" [[noreturn]] void mgl_server_link_check_exempt() {
std::fputs("MobileGL server link check: an exempted frontend symbol was called\n", stderr);
std::abort();
}