https://gcc.gnu.org/g:a107b01da42b2f2303ffe53df5ea4a796f40597d
commit r16-3035-ga107b01da42b2f2303ffe53df5ea4a796f40597d Author: Jakub Jelinek <ja...@redhat.com> Date: Wed Aug 6 11:30:48 2025 +0200 libgcc: Remove useless forward declaration [PR121397] aarch64 for some strange reason unconditionally enables -Werror for libgcc building and this particular file for some strange reason contains a useless static forward declaration of a function only defined in the #if defined __sun__ && defined __svr4__ block and not otherwise (with __attribute__((constructor))). And we warn (with -Werror error) in the non-__sun__/__svr4__ case because it declares a static function that is never defined. The forward declaration makes no sense to me, for static functions forward declarations shouldn't be needed even for -Wstrict-prototypes, and AFAIK we don't warn on static __attribute__((constructor)) void foo (void) {} being unused. And the function isn't used before being defined. So, the following patch just removes the forward declaration. 2025-08-06 Jakub Jelinek <ja...@redhat.com> PR libgcc/121397 * enable-execute-stack-mprotect.c (check_enabling): Remove useless forward declaration. Diff: --- libgcc/enable-execute-stack-mprotect.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libgcc/enable-execute-stack-mprotect.c b/libgcc/enable-execute-stack-mprotect.c index 08a0d7221411..7971efbf1a3d 100644 --- a/libgcc/enable-execute-stack-mprotect.c +++ b/libgcc/enable-execute-stack-mprotect.c @@ -30,7 +30,6 @@ static int need_enable_exec_stack; -static void check_enabling (void) __attribute__ ((unused)); extern void __enable_execute_stack (void *); #if defined __sun__ && defined __svr4__