You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
235 lines
6.8 KiB
235 lines
6.8 KiB
https://git.openldap.org/openldap/openldap/-/merge_requests/605
|
|
|
|
From 83e2db9bf9fc2530a0ea6ca538a7732f6ad9de0e Mon Sep 17 00:00:00 2001
|
|
From: Sam James <sam@gentoo.org>
|
|
Date: Thu, 9 Feb 2023 23:17:53 +0000
|
|
Subject: [PATCH 1/3] build: fix compatibility with stricter C99 compilers
|
|
|
|
Fix the following warnings:
|
|
- -Wimplicit-int (fatal with Clang 16)
|
|
- -Wimplicit-function-declaration (fatal with Clang 16)
|
|
- -Wincompatible-function-pointer-types (fatal with Clang 16)
|
|
- -Wint-conversion (fatal with Clang 15)
|
|
- Old style prototypes (K&R, removed from C23)
|
|
|
|
These warnings-now-error led to misconfigurations and failure to build
|
|
OpenLDAP, as the tests used during configure caused the wrong results
|
|
to be emitted.
|
|
|
|
For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
|
|
or the (new) c-std-porting mailing list [3].
|
|
|
|
[0] https://lwn.net/Articles/913505/
|
|
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
|
|
[2] https://wiki.gentoo.org/wiki/Modern_C_porting
|
|
[3] hosted at lists.linux.dev.
|
|
|
|
Bug: https://bugs.gentoo.org/871288
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
--- a/build/openldap.m4
|
|
+++ b/build/openldap.m4
|
|
@@ -154,6 +154,7 @@ fi
|
|
if test $ol_cv_header_stdc = yes; then
|
|
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <ctype.h>
|
|
+#include <stdlib.h>
|
|
#ifndef HAVE_EBCDIC
|
|
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
|
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
|
@@ -360,9 +361,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[
|
|
AC_DEFUN([OL_PTHREAD_TEST_PROGRAM],
|
|
[AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES
|
|
|
|
-int main(argc, argv)
|
|
- int argc;
|
|
- char **argv;
|
|
+int main(int argc, char **argv)
|
|
{
|
|
OL_PTHREAD_TEST_FUNCTION
|
|
}
|
|
@@ -484,7 +483,7 @@ AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[
|
|
#include <sys/types.h>
|
|
#include <regex.h>
|
|
static char *pattern, *string;
|
|
-main()
|
|
+int main(void)
|
|
{
|
|
int rc;
|
|
regex_t re;
|
|
@@ -511,7 +510,8 @@ AC_DEFUN([OL_C_UPPER_LOWER],
|
|
[AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
#include <ctype.h>
|
|
-main()
|
|
+#include <stdlib.h>
|
|
+int main(void)
|
|
{
|
|
if ('C' == toupper('C'))
|
|
exit(0);
|
|
@@ -569,7 +569,7 @@ AC_DEFUN([OL_NONPOSIX_STRERROR_R],
|
|
]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no])
|
|
else
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
- main() {
|
|
+ int main(void) {
|
|
char buf[100];
|
|
buf[0] = 0;
|
|
strerror_r( 1, buf, sizeof buf );
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -1017,7 +1017,11 @@ dnl ----------------------------------------------------------------
|
|
AC_CHECK_HEADERS( sys/epoll.h )
|
|
if test "${ac_cv_header_sys_epoll_h}" = yes; then
|
|
AC_MSG_CHECKING(for epoll system call)
|
|
- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
|
|
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
|
|
+#ifdef HAVE_SYS_POLL_H
|
|
+#include <sys/epoll.h>
|
|
+#endif
|
|
+int main(int argc, char **argv)
|
|
{
|
|
int epfd = epoll_create(256);
|
|
exit (epfd == -1 ? 1 : 0);
|
|
@@ -1479,10 +1483,8 @@ pthread_rwlock_t rwlock;
|
|
dnl save the flags
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
#include <pthread.h>
|
|
-#ifndef NULL
|
|
-#define NULL (void*)0
|
|
-#endif
|
|
-]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
|
|
+pthread_t thread;
|
|
+]], [[pthread_detach(thread);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
|
|
])
|
|
|
|
if test $ol_cv_func_pthread_detach = no ; then
|
|
@@ -1537,6 +1539,9 @@ dnl esac
|
|
AC_CACHE_CHECK([if select yields when using pthreads],
|
|
ol_cv_pthread_select_yields,[
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
+#define _XOPEN_SOURCE 500 /* For pthread_setconcurrency() on glibc */
|
|
+#include <stdlib.h>
|
|
+#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <sys/time.h>
|
|
#include <unistd.h>
|
|
@@ -1547,8 +1552,7 @@ dnl esac
|
|
|
|
static int fildes[2];
|
|
|
|
-static void *task(p)
|
|
- void *p;
|
|
+static void *task(void *p)
|
|
{
|
|
int i;
|
|
struct timeval tv;
|
|
@@ -1572,9 +1576,7 @@ static void *task(p)
|
|
exit(0); /* if we exit here, the select blocked the whole process */
|
|
}
|
|
|
|
-int main(argc, argv)
|
|
- int argc;
|
|
- char **argv;
|
|
+int main(int argc, char **argv)
|
|
{
|
|
pthread_t t;
|
|
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 853d613f39ae9e8d7dad4492076959c2d80e38c1 Mon Sep 17 00:00:00 2001
|
|
From: Sam James <sam@gentoo.org>
|
|
Date: Thu, 9 Feb 2023 23:20:32 +0000
|
|
Subject: [PATCH 2/3] contrib: fix old-style K&R declarations
|
|
|
|
Removed in C23.
|
|
|
|
For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
|
|
or the (new) c-std-porting mailing list [3].
|
|
|
|
[0] https://lwn.net/Articles/913505/
|
|
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
|
|
[2] https://wiki.gentoo.org/wiki/Modern_C_porting
|
|
[3] hosted at lists.linux.dev.
|
|
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
--- a/contrib/ldaptcl/tclAppInit.c
|
|
+++ b/contrib/ldaptcl/tclAppInit.c
|
|
@@ -45,9 +45,7 @@ EXTERN int Tcltest_Init _ANSI_ARGS_((Tcl_Interp *interp));
|
|
*/
|
|
|
|
int
|
|
-main(argc, argv)
|
|
- int argc; /* Number of command-line arguments. */
|
|
- char **argv; /* Values of command-line arguments. */
|
|
+main(int argc, char **argv)
|
|
{
|
|
#ifdef USE_TCLX
|
|
TclX_Main(argc, argv, Tcl_AppInit);
|
|
--- a/contrib/ldaptcl/tkAppInit.c
|
|
+++ b/contrib/ldaptcl/tkAppInit.c
|
|
@@ -37,16 +37,9 @@ int (*tclDummyMathPtr)() = matherr;
|
|
* This is the main program for the application.
|
|
*-----------------------------------------------------------------------------
|
|
*/
|
|
-#ifdef __cplusplus
|
|
int
|
|
main (int argc,
|
|
char **argv)
|
|
-#else
|
|
-int
|
|
-main (argc, argv)
|
|
- int argc;
|
|
- char **argv;
|
|
-#endif
|
|
{
|
|
#ifdef USE_TCLX
|
|
TkX_Main(argc, argv, Tcl_AppInit);
|
|
@@ -68,14 +61,8 @@ main (argc, argv)
|
|
* interp->result if an error occurs.
|
|
*-----------------------------------------------------------------------------
|
|
*/
|
|
-#ifdef __cplusplus
|
|
int
|
|
Tcl_AppInit (Tcl_Interp *interp)
|
|
-#else
|
|
-int
|
|
-Tcl_AppInit (interp)
|
|
- Tcl_Interp *interp;
|
|
-#endif
|
|
{
|
|
if (Tcl_Init (interp) == TCL_ERROR) {
|
|
return TCL_ERROR;
|
|
--
|
|
GitLab
|
|
|
|
|
|
From b4b3d026461b16f4f462e70225a5a0493647f0c8 Mon Sep 17 00:00:00 2001
|
|
From: Sam James <sam@gentoo.org>
|
|
Date: Thu, 9 Feb 2023 23:20:51 +0000
|
|
Subject: [PATCH 3/3] servers: fix -Wstrict-prototypes
|
|
|
|
For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
|
|
or the (new) c-std-porting mailing list [3].
|
|
|
|
[0] https://lwn.net/Articles/913505/
|
|
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
|
|
[2] https://wiki.gentoo.org/wiki/Modern_C_porting
|
|
[3] hosted at lists.linux.dev.
|
|
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
--- a/servers/slapd/syslog.c
|
|
+++ b/servers/slapd/syslog.c
|
|
@@ -209,7 +209,7 @@ openlog(const char *ident, int logstat, int logfac)
|
|
}
|
|
|
|
void
|
|
-closelog()
|
|
+closelog(void)
|
|
{
|
|
(void)close(LogFile);
|
|
LogFile = -1;
|
|
--
|
|
GitLab
|