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)
 

Reply via email to