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.
55 lines
2.3 KiB
55 lines
2.3 KiB
https://bugs.gentoo.org/899072
|
|
https://github.com/heimdal/heimdal/issues/790
|
|
https://github.com/heimdal/heimdal/pull/1085
|
|
|
|
From 5b872a635c9c8f04f58e03c43e7953c35e1f66b7 Mon Sep 17 00:00:00 2001
|
|
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Thu, 13 Apr 2023 13:13:59 +0200
|
|
Subject: [PATCH 1/2] cf: Include <string.h> for memset in AC_HAVE_STRUCT_FIELD
|
|
|
|
Otherwise, the check relies on an implicit function declaration,
|
|
and will fail unconditionally with compilers that do not support
|
|
them.
|
|
--- a/cf/have-struct-field.m4
|
|
+++ b/cf/have-struct-field.m4
|
|
@@ -7,7 +7,8 @@ dnl AC_HAVE_STRUCT_FIELD(struct, field, headers)
|
|
AC_DEFUN([AC_HAVE_STRUCT_FIELD], [
|
|
define(cache_val, translit(ac_cv_type_$1_$2, [A-Z ], [a-z_]))
|
|
AC_CACHE_CHECK([for $2 in $1], cache_val,[
|
|
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$3]],
|
|
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>
|
|
+$3]],
|
|
[[$1 x; memset(&x, 0, sizeof(x)); x.$2]])],
|
|
[cache_val=yes],
|
|
[cache_val=no])
|
|
|
|
From fc6d5b5c7677bb7271361c4bd60ea1bd36d944b9 Mon Sep 17 00:00:00 2001
|
|
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Thu, 13 Apr 2023 13:26:29 +0200
|
|
Subject: [PATCH 2/2] cf: Do not use headers and argument lists in
|
|
AC_FIND_FUNC_NO_LIBS2
|
|
|
|
The callers of this macro generally do not supply this information.
|
|
Without it, the checks rely on compiler support for implicit function
|
|
declarations. It would be possible to supply this information in
|
|
the callers. But even then, with the existing macro interface, it
|
|
would be necessary to pass eg. null pointers where they trigger
|
|
undefined behavior. Therefore, use the same kludge that autoconf
|
|
uses to make up prototypes, avoiding those implicit function
|
|
declarations.
|
|
|
|
The includes/arguments macro parameters are now ignored, but preserved
|
|
for interface compatibility.
|
|
--- a/cf/find-func-no-libs2.m4
|
|
+++ b/cf/find-func-no-libs2.m4
|
|
@@ -21,7 +21,7 @@ if eval "test \"\$ac_cv_func_$1\" != yes" ; then
|
|
*) ac_lib="-l$ac_lib" ;;
|
|
esac
|
|
LIBS="$6 $ac_lib $5 $ac_save_LIBS"
|
|
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$3]],[[$1($4)]])],[eval "if test -n \"$ac_lib\";then ac_cv_funclib_$1=$ac_lib; else ac_cv_funclib_$1=yes; fi";break])
|
|
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char $1 (void);]],[[$1()]])],[eval "if test -n \"$ac_lib\";then ac_cv_funclib_$1=$ac_lib; else ac_cv_funclib_$1=yes; fi";break])
|
|
done
|
|
eval "ac_cv_funclib_$1=\${ac_cv_funclib_$1-no}"
|
|
LIBS="$ac_save_LIBS"
|
|
|