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__

Reply via email to