branch master 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 master
in repository libtool.

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

commit b9f13756ab2f32426630095ac1f0d049ce38e77d
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.