https://gcc.gnu.org/g:90fee97d528e8447648c37f9df1daa3445e598bc

commit r16-588-g90fee97d528e8447648c37f9df1daa3445e598bc
Author: Rainer Orth <r...@cebitec.uni-bielefeld.de>
Date:   Tue May 13 09:43:48 2025 +0200

    libgcobol: Allow for lack of LOG_PERROR
    
    The libgcobol build is broken again on Solaris:
    
    /vol/gcc/src/hg/master/local/libgcobol/libgcobol.cc: In function ‘void
    default_exception_handler(ec_type_t)’:
    /vol/gcc/src/hg/master/local/libgcobol/libgcobol.cc:11196:44: error:
    ‘LOG_PERROR’ was not declared in this scope; did you mean ‘LOG_ERR’?
    11196 | static int priority = LOG_INFO, option = LOG_PERROR, facility =
    LOG_USER;
          |                                            ^~~~~~~~~~
          |                                            LOG_ERR
    /vol/gcc/src/hg/master/local/libgcobol/libgcobol.cc:11202:28: error:
    ‘facility’ was not declared in this scope
    11202 |     openlog(ident, option, facility);
          |                            ^~~~~~~~
    
    LOG_PERROR is a BSD extension not present on Solaris due to its System V
    heritage, and Linux syslog(3) documents:
    
           LOG_PERROR     (Not in POSIX.1-2001 or  POSIX.1-2008.)   Also  log  
the
                          message to stderr.
    
    This patch provides a fallback definition, just the minimum to unbreak
    the build.
    
    Tested on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and
    x86_64-pc-linux-gnu.
    
    2025-05-12  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
    
            libgcobol:
            * libgcobol.cc [!LOG_PERROR] (LOG_PERROR): Provide fallback.

Diff:
---
 libgcobol/libgcobol.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libgcobol/libgcobol.cc b/libgcobol/libgcobol.cc
index 2de87cbfc487..56b1a7bf5876 100644
--- a/libgcobol/libgcobol.cc
+++ b/libgcobol/libgcobol.cc
@@ -75,6 +75,11 @@
 
 #include "exceptl.h"
 
+/* BSD extension.  */
+#if !defined(LOG_PERROR)
+#define LOG_PERROR 0
+#endif
+
 #if !defined (HAVE_STRFROMF32)
 # if __FLT_MANT_DIG__ == 24 && __FLT_MAX_EXP__ == 128
 static int

Reply via email to