Blame SOURCES/pam-1.3.1-pam-cc-compat.patch

f109b2
diff -up Linux-PAM-1.3.1/libpam/include/pam_cc_compat.h.pam-cc-compat Linux-PAM-1.3.1/libpam/include/pam_cc_compat.h
f109b2
--- Linux-PAM-1.3.1/libpam/include/pam_cc_compat.h.pam-cc-compat	2022-05-26 10:43:50.436328027 +0200
f109b2
+++ Linux-PAM-1.3.1/libpam/include/pam_cc_compat.h	2022-05-26 10:43:50.436328027 +0200
f109b2
@@ -0,0 +1,47 @@
f109b2
+/*
f109b2
+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
f109b2
+ */
f109b2
+
f109b2
+#ifndef PAM_CC_COMPAT_H
f109b2
+#define PAM_CC_COMPAT_H
f109b2
+
f109b2
+#include "config.h"
f109b2
+#include <security/_pam_types.h>
f109b2
+
f109b2
+#if defined __clang__ && defined __clang_major__ && defined __clang_minor__
f109b2
+# define PAM_CLANG_PREREQ(maj, min)					\
f109b2
+	((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min))
f109b2
+#else
f109b2
+# define PAM_CLANG_PREREQ(maj, min)	0
f109b2
+#endif
f109b2
+
f109b2
+#if PAM_GNUC_PREREQ(4, 6)
f109b2
+# define DIAG_PUSH_IGNORE_CAST_QUAL					\
f109b2
+	_Pragma("GCC diagnostic push");					\
f109b2
+	_Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
f109b2
+# define DIAG_POP_IGNORE_CAST_QUAL					\
f109b2
+	_Pragma("GCC diagnostic pop")
f109b2
+# define DIAG_PUSH_IGNORE_CAST_ALIGN					\
f109b2
+	_Pragma("GCC diagnostic push");					\
f109b2
+	_Pragma("GCC diagnostic ignored \"-Wcast-align\"")
f109b2
+# define DIAG_POP_IGNORE_CAST_ALIGN					\
f109b2
+	_Pragma("GCC diagnostic pop")
f109b2
+#elif PAM_CLANG_PREREQ(2, 6)
f109b2
+# define DIAG_PUSH_IGNORE_CAST_QUAL					\
f109b2
+	_Pragma("clang diagnostic push");				\
f109b2
+	_Pragma("clang diagnostic ignored \"-Wcast-qual\"")
f109b2
+# define DIAG_POP_IGNORE_CAST_QUAL					\
f109b2
+	_Pragma("clang diagnostic pop")
f109b2
+# define DIAG_PUSH_IGNORE_CAST_ALIGN					\
f109b2
+	_Pragma("clang diagnostic push");				\
f109b2
+	_Pragma("clang diagnostic ignored \"-Wcast-align\"")
f109b2
+# define DIAG_POP_IGNORE_CAST_ALIGN					\
f109b2
+	_Pragma("clang diagnostic pop")
f109b2
+#else
f109b2
+# define DIAG_PUSH_IGNORE_CAST_QUAL	/* empty */
f109b2
+# define DIAG_POP_IGNORE_CAST_QUAL	/* empty */
f109b2
+# define DIAG_PUSH_IGNORE_CAST_ALIGN	/* empty */
f109b2
+# define DIAG_POP_IGNORE_CAST_ALIGN	/* empty */
f109b2
+#endif
f109b2
+
f109b2
+#endif /* PAM_CC_COMPAT_H */
f109b2
diff -up Linux-PAM-1.3.1/libpam/Makefile.am.pam-cc-compat Linux-PAM-1.3.1/libpam/Makefile.am
f109b2
--- Linux-PAM-1.3.1/libpam/Makefile.am.pam-cc-compat	2022-05-26 10:43:50.436328027 +0200
f109b2
+++ Linux-PAM-1.3.1/libpam/Makefile.am	2022-05-26 10:44:00.865402730 +0200
f109b2
@@ -18,7 +18,7 @@ include_HEADERS = include/security/_pam_
f109b2
 	include/security/pam_ext.h include/security/pam_modutil.h
f109b2
 
f109b2
 noinst_HEADERS = pam_prelude.h pam_private.h pam_tokens.h \
f109b2
-		pam_modutil_private.h
f109b2
+		pam_modutil_private.h include/pam_cc_compat.h
f109b2
 
f109b2
 libpam_la_LDFLAGS = -no-undefined -version-info 84:2:84
f109b2
 libpam_la_LIBADD = @LIBAUDIT@ $(LIBPRELUDE_LIBS) @LIBDL@