/* libmisc/intercept.c - Interceptable ("weak") functions * * Copyright (C) 2024-2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ #include /* for va_list, va_start(), va_end() */ #include /* for vprintf(), putchar() */ #include /* for abort() */ #include [[gnu::weak]] size_t __lm_printf(const char *format, ...) { va_list va; va_start(va, format); size_t ret = (size_t) vprintf(format, va); va_end(va); return ret; } [[gnu::weak]] void __lm_putchar(unsigned char c) { (void) putchar(c); } [[gnu::weak]] void __lm_abort(void) { abort(); }