From patchwork Mon Aug 19 10:06:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 8027 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4WnStC16Scz3xGD for ; Mon, 19 Aug 2024 10:06:27 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4WnStB6fp8z4pf; Mon, 19 Aug 2024 10:06:26 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4WnStB68dDz342b; Mon, 19 Aug 2024 10:06:26 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4WnSst6kV5z345Q for ; Mon, 19 Aug 2024 10:06:10 +0000 (UTC) Received: from michael.haj.ipfire.org (michael.haj.ipfire.org [172.28.1.242]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "michael.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4WnSst4ns8z4Q5; Mon, 19 Aug 2024 10:06:10 +0000 (UTC) Received: by michael.haj.ipfire.org (Postfix, from userid 0) id 4WnSss6hwwzTtkk; Mon, 19 Aug 2024 10:06:09 +0000 (UTC) From: Michael Tremer To: development@lists.ipfire.org Subject: [PATCH 11/19] berkeley: Fix build with GCC 14 Date: Mon, 19 Aug 2024 10:06:00 +0000 Message-Id: <20240819100608.991138-12-michael.tremer@ipfire.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240819100608.991138-1-michael.tremer@ipfire.org> References: <20240819100608.991138-1-michael.tremer@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: 34BRVW54HBJRWUIT33WPJ7Y5WYMRYUJA X-Message-ID-Hash: 34BRVW54HBJRWUIT33WPJ7Y5WYMRYUJA X-MailFrom: root@michael.haj.ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Michael Tremer X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Signed-off-by: Michael Tremer --- lfs/berkeley | 3 + .../db-5.2.28-sqlite-configure-path.patch | 11 + src/patches/db-5.3.28-clang16.patch | 325 ++++++++++++++++++ 3 files changed, 339 insertions(+) create mode 100644 src/patches/db-5.2.28-sqlite-configure-path.patch create mode 100644 src/patches/db-5.3.28-clang16.patch diff --git a/lfs/berkeley b/lfs/berkeley index 0ef917015..264097c59 100644 --- a/lfs/berkeley +++ b/lfs/berkeley @@ -71,6 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) $(UPDATE_AUTOMAKE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/db-5.3.28-clang16.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/db-5.2.28-sqlite-configure-path.patch + cd $(DIR_APP)/dist && ./s_config cd $(DIR_APP) && sed -i "s/\(__atomic_compare_exchange\)/\1_db/" src/dbinc/atomic.h cd $(DIR_APP)/build_unix && ../dist/configure \ --prefix=/usr \ diff --git a/src/patches/db-5.2.28-sqlite-configure-path.patch b/src/patches/db-5.2.28-sqlite-configure-path.patch new file mode 100644 index 000000000..cfbe2a7ff --- /dev/null +++ b/src/patches/db-5.2.28-sqlite-configure-path.patch @@ -0,0 +1,11 @@ +--- a/dist/aclocal/sql.m4 ++++ b/dist/aclocal/sql.m4 +@@ -91,7 +91,7 @@ + # !!! END COPIED from autoconf distribution + + sqlite_dir=$srcdir/../lang/sql/sqlite +-(cd sql && eval "\$SHELL ../$sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1 ++(cd sql && eval "\$SHELL $sqlite_dir/configure --disable-option-checking $ac_sub_configure_args CPPFLAGS=\"-I.. $CPPFLAGS\" --enable-amalgamation=$db_cv_sql_amalgamation --enable-readline=$with_readline" && cat build_config.h >> config.h) || exit 1 + + # Configure JDBC if --enable-jdbc + if test "$db_cv_jdbc" != "no"; then diff --git a/src/patches/db-5.3.28-clang16.patch b/src/patches/db-5.3.28-clang16.patch new file mode 100644 index 000000000..aab73d87a --- /dev/null +++ b/src/patches/db-5.3.28-clang16.patch @@ -0,0 +1,325 @@ +https://bugs.gentoo.org/883413 +--- a/dist/aclocal/clock.m4 ++++ b/dist/aclocal/clock.m4 +@@ -20,12 +20,14 @@ esac + # existence to mean the clock really exists. + AC_CACHE_CHECK([for clock_gettime monotonic clock], db_cv_clock_monotonic, [ + AC_TRY_RUN([ ++#include + #include +-main() { ++int main(void) { + struct timespec t; + return (clock_gettime(CLOCK_MONOTONIC, &t) != 0); + }], db_cv_clock_monotonic=yes, db_cv_clock_monotonic=no, + AC_TRY_LINK([ ++#include + #include ], [ + struct timespec t; + clock_gettime(CLOCK_MONOTONIC, &t); +--- a/dist/aclocal/mmap.m4 ++++ b/dist/aclocal/mmap.m4 +@@ -29,6 +29,7 @@ if test "$mmap_ok" = "yes" ; then + * system to system. + */ + #include ++ #include + #include + #include + #include +@@ -42,13 +43,12 @@ if test "$mmap_ok" = "yes" ; then + #define MAP_FAILED (-1) + #endif + +- int catch_sig(sig) +- int sig; ++ void catch_sig(int sig) + { + exit(1); + } + +- main() { ++ int main(void) { + const char *underlying; + unsigned gapsize; + char *base; +--- a/dist/aclocal/mutex.m4 ++++ b/dist/aclocal/mutex.m4 +@@ -5,7 +5,7 @@ AC_DEFUN(AM_PTHREADS_SHARED, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -49,7 +49,7 @@ AC_DEFUN(AM_PTHREADS_PRIVATE, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_mutex_t mutex; + pthread_condattr_t condattr; +@@ -89,7 +89,7 @@ AC_DEFUN(AM_PTHREADS_CONDVAR_DUPINITCHK, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_cond_t cond; + pthread_condattr_t condattr; + exit(pthread_condattr_init(&condattr) || +@@ -110,7 +110,7 @@ AC_DEFUN(AM_PTHREADS_RWLOCKVAR_DUPINITCHK, [ + AC_TRY_RUN([ + #include + #include +-main() { ++int main(void) { + pthread_rwlock_t rwlock; + pthread_rwlockattr_t rwlockattr; + exit(pthread_rwlockattr_init(&rwlockattr) || +@@ -227,6 +227,7 @@ if test "$db_cv_mutex" = no; then + # LWP threads: _lwp_XXX + if test "$db_cv_mutex" = no; then + AC_TRY_LINK([ ++ #include + #include ],[ + static lwp_mutex_t mi = SHAREDMUTEX; + static lwp_cond_t ci = SHAREDCV; +@@ -243,6 +244,7 @@ if test "$db_cv_mutex" = no; then + LIBS="$LIBS -lthread" + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -258,6 +260,7 @@ if test "$db_cv_mutex" = no; then + if test "$db_cv_mutex" = no -o "$db_cv_mutex" = ui_only; then + AC_TRY_LINK([ + #include ++ #include + #include ],[ + mutex_t mutex; + cond_t cond; +@@ -282,7 +285,7 @@ if test "$db_cv_mutex" = no; then + # x86/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(i386) || defined(__i386__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -291,7 +294,7 @@ if test "$db_cv_mutex" = no; then + # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux + AC_TRY_COMPILE(,[ + #if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -314,7 +317,7 @@ if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__sparc__) && defined(__GNUC__) + asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore"); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -356,7 +359,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -373,7 +376,7 @@ AC_TRY_LINK([ + msem_init(&x, 0); + msem_lock(&x, 0); + msem_unlock(&x, 0); +- exit(0); ++ return 0; + ], [db_cv_mutex=UNIX/msem_init]) + fi + +@@ -395,7 +398,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__USLC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -452,7 +455,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__DECC) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -463,7 +466,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__alpha) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -474,7 +477,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__arm__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -485,7 +488,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -496,7 +499,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -507,7 +510,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -518,7 +521,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -529,7 +532,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__MVS__) && defined(__IBMC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -540,7 +543,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__s390__) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -551,7 +554,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(__ia64) && defined(__GNUC__) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -562,7 +565,7 @@ fi + if test "$db_cv_mutex" = no; then + AC_TRY_COMPILE(,[ + #if defined(_UTS) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -910,9 +913,9 @@ fi + if test "$db_cv_atomic" = no; then + AC_TRY_COMPILE(,[ + #if ((defined(i386) || defined(__i386__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)) +- exit(0); ++ return 0; + #else + FAIL TO COMPILE/LINK + #endif +@@ -921,6 +924,7 @@ fi + + if test "$db_cv_atomic" = no; then + AC_TRY_LINK([ ++#include + #include ],[ + volatile unsigned val = 1; + exit (atomic_inc_uint_nv(&val) != 2 || +--- a/dist/aclocal/sequence.m4 ++++ b/dist/aclocal/sequence.m4 +@@ -43,7 +43,9 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + # test, which won't test for the appropriate printf format strings. + if test "$db_cv_build_sequence" = "yes"; then + AC_TRY_RUN([ +- main() { ++ #include ++ #include ++ int main(void) { + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; +@@ -59,7 +61,10 @@ AC_DEFUN(AM_SEQUENCE_CONFIGURE, [ + return (1); + return (0); + }],, [db_cv_build_sequence="no"], +- AC_TRY_LINK(,[ ++ AC_TRY_LINK([ ++ #include ++ #include ++ ],[ + $db_cv_seq_type l; + unsigned $db_cv_seq_type u; + char buf@<:@100@:>@; +--- a/dist/aclocal/types.m4 ++++ b/dist/aclocal/types.m4 +@@ -69,7 +69,7 @@ AC_SUBST(stdint_h_decl) + AC_MSG_CHECKING(for stdint.h) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include +- int main() { ++ int main(void) { + uint_least8_t x=0; + return x; + }])],[AC_MSG_RESULT(yes) +@@ -77,7 +77,7 @@ if test "$db_cv_cxx" = "yes"; then + AC_MSG_CHECKING([if stdint.h can be used by C++]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include +- int main() { ++ int main(void) { + uint_least8_t x=0; + return x; + }])],[AC_MSG_RESULT(yes)