Hi!

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.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2025-08-06  Jakub Jelinek  <ja...@redhat.com>

        PR libgcc/121397
        * enable-execute-stack-mprotect.c (check_enabling): Remove useless
        forward declaration.

--- libgcc/enable-execute-stack-mprotect.c.jj   2025-04-08 14:09:53.630413475 
+0200
+++ libgcc/enable-execute-stack-mprotect.c      2025-08-05 19:21:26.780914701 
+0200
@@ -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__

        Jakub

Reply via email to