branch development updated: libltdl: Skip sanitization of function for newer clang versions

Ileana Dumitrescu <[email protected]>
Newsgroups gmane.comp.gnu.libtool.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script.

ildumi pushed a commit to branch development
in repository libtool.

The following commit(s) were added to refs/heads/development by this push:
     new 9621f689 libltdl: Skip sanitization of function for newer clang versions
9621f689 is described below

commit 9621f6897dfac7357b8d9d86afccb1f0b33352e4
Author: Bruno Haible <[email protected]>
AuthorDate: Thu Aug 13 03:13:00 2026 +0300

    libltdl: Skip sanitization of function for newer clang versions
    
    Using a clang version >= 20 finds sanitization issues that the
    earlier clang version did not find.
    
    ltdl.c:189:16: runtime error: call to function preopen_LTX_get_vtable through pointer to incorrect function type 'const lt_dlvtable *(*)(void *)'
    /home/runner/work/ci-check/ci-check/libtool-2026-08-12/build/tests/testsuite.dir/113/libltdl/loaders/preopen.c:60: note: preopen_LTX_get_vtable defined here
    SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ltdl.c:189:16
    
    This is a temporary fix until the function prototype is fixed.
    
    * libltdl/ltdl.c: Skip sanitization of function for clang versions that
      are greater than or equal to 20.
    * libltdl/ltdl.mk: Bump minor version.
---
 libltdl/ltdl.c  | 4 ++++
 libltdl/ltdl.mk | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index c92e2594..bed91b8f 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -178,6 +178,10 @@ loader_init_callback (lt_dlhandle handle)
 }
 #endif /* HAVE_LIBDLLOADER */
 
+// TODO: fix the clang sanitization issue with the function's prototype
+#if defined __clang__ && __clang_major__ >= 20
+  __attribute__ ((no_sanitize ("function")))
+#endif
 static int
 loader_init (lt_get_vtable *vtable_func, lt_user_data data)
 {
diff --git a/libltdl/ltdl.mk b/libltdl/ltdl.mk
index e69e0113..d74ed2ed 100644
--- a/libltdl/ltdl.mk
+++ b/libltdl/ltdl.mk
@@ -35,7 +35,7 @@ AM_CPPFLAGS	       += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
 			  -I$(srcdir)/libltdl -Ilibltdl/libltdl \
 			  -I$(srcdir)/libltdl/libltdl
 AM_LDFLAGS	       += -no-undefined
-LTDL_VERSION_INFO	= -version-info 10:6:3
+LTDL_VERSION_INFO	= -version-info 10:7:3
 
 noinst_LTLIBRARIES	+= $(LT_DLLOADERS)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.