https://gcc.gnu.org/g:7c3add671b5deddb69b2fca3c489e2a06ddd4f90

commit r17-2122-g7c3add671b5deddb69b2fca3c489e2a06ddd4f90
Author: WHR <[email protected]>
Date:   Sat Aug 31 06:26:02 2024 +0000

    libssp: Include 'stdlib.h' for using alloca(3) [PR116547]
    
    As GCC now treating implicit declaration of function as an error instead of
    warning, compilation of libssp has been broken on some operating systems.
    The following error is from an x86_64-unknown-freebsd11 system:
    
        [...]/libssp/ssp.c: In function 'fail':
        [...]/libssp/ssp.c:134:17: error: implicit declaration of function 
'alloca' [-Wimplicit-function-declaration]
          134 |       p = buf = alloca (len);
              |                 ^~~~~~
    
    Similarly: amd64-unknown-openbsd7.9.
    
    Most operating systems specifies that 'stdlib.h' should be included to get
    the declaration of alloca(3).
    
            PR other/116547
            * ssp.c: Include stdlib.h for alloca(3).
    
    Co-authored-by: Thomas Schwinge <[email protected]>

Diff:
---
 libssp/ssp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libssp/ssp.c b/libssp/ssp.c
index 47abdf4e13d6..04c13e46cd70 100644
--- a/libssp/ssp.c
+++ b/libssp/ssp.c
@@ -39,6 +39,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If 
not, see
 #ifdef HAVE_MALLOC_H
 # include <malloc.h>
 #endif
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
 #ifdef HAVE_STRING_H
 # include <string.h>
 #endif

Reply via email to