From 7d249dab514e6fc003cb92962890d2ce36b87931 Mon Sep 17 00:00:00 2001 From: Edgar Bonet Date: Thu, 16 May 2024 12:06:50 +0200 Subject: [PATCH] package/nginx: fix compile error in configure script Building with GCC 14 fails at the configure step with: ./configure: error: libatomic_ops library was not found. The error is not caused by a missing library, but by an unrelated "incompatible pointer type" error in the test program: ... checking for atomic_ops library objs/autotest.c: In function 'main': objs/autotest.c:9:48: error: passing argument 1 of 'AO_compare_and_swap' from incompatible pointer type [-Wincompatible-pointer-types] This used to be a warning, but it is an error since GCC 14.[1] Fix this by patching the test program in order to use the correct pointer types. Fixes: http://autobuild.buildroot.net/results/a3d/a3d8c6fd631b31e272e4d8cc6c3318f2e4151882 [1] https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types Signed-off-by: Edgar Bonet Signed-off-by: Arnout Vandecappelle --- ...ix-compile-error-in-configure-script.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/nginx/0011-Fix-compile-error-in-configure-script.patch diff --git a/package/nginx/0011-Fix-compile-error-in-configure-script.patch b/package/nginx/0011-Fix-compile-error-in-configure-script.patch new file mode 100644 index 0000000000..672162759e --- /dev/null +++ b/package/nginx/0011-Fix-compile-error-in-configure-script.patch @@ -0,0 +1,33 @@ +From e1bcac837f6aeabc4ddece06ecbcf2bcca8dd651 Mon Sep 17 00:00:00 2001 +From: Edgar Bonet +Date: Thu, 16 May 2024 11:15:10 +0200 +Subject: [PATCH] Configure: fixed building libatomic test. + +Using "long *" instead of "AO_t *" leads either to -Wincompatible-pointer-types +or -Wpointer-sign warnings, depending on whether long and size_t are compatible +types (e.g., ILP32 versus LP64 data models). Notably, -Wpointer-sign warnings +are enabled by default in Clang only, and -Wincompatible-pointer-types is an +error starting from GCC 14. + +Signed-off-by: Edgar Bonet +Upstream: https://hg.nginx.org/nginx/rev/f58b6f636238 +--- + auto/lib/libatomic/conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/auto/lib/libatomic/conf b/auto/lib/libatomic/conf +index d1e484a..0f12b9c 100644 +--- a/auto/lib/libatomic/conf ++++ b/auto/lib/libatomic/conf +@@ -20,7 +20,7 @@ else + #include " + ngx_feature_path= + ngx_feature_libs="-latomic_ops" +- ngx_feature_test="long n = 0; ++ ngx_feature_test="AO_t n = 0; + if (!AO_compare_and_swap(&n, 0, 1)) + return 1; + if (AO_fetch_and_add(&n, 1) != 1) +-- +2.34.1 +