external/redland/UnpackedTarball_redland.mk |    1 +
 external/redland/redland/ubsan.patch        |   11 +++++++++++
 2 files changed, 12 insertions(+)

New commits:
commit b3300387f2e14ea59c70db513a8f6eda6fe17afa
Author:     Stephan Bergmann <stephan.bergm...@allotropia.de>
AuthorDate: Wed Jul 10 11:19:36 2024 +0200
Commit:     Stephan Bergmann <stephan.bergm...@allotropia.de>
CommitDate: Wed Jul 10 16:06:52 2024 +0200

    Fix UBSan build of ExternalProject_redland
    
    ...after c75c21eef670fce33eb5a501357935dbd25be923 "Upgrade raptor to 
2.0.16",
    where it now started to fail with
    
    > libtool: link: LD_RUN_PATH="/usr/local/lib:" /usr/bin/ccache 
/home/tdf/lode/opt_private/clang-llvmorg-12.0.1/bin/clang 
--gcc-toolchain=/opt/rh/gcc-toolset-12/root/usr -fsanitize=address 
-fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=local-bounds 
-fsanitize-blacklist=/home/tdf/lode/jenkins/workspace/lo_ubsan/sanitize-ubsan-excludelist
 -fno-sanitize=function -DLIBRDF_INTERNAL=1 -O0 -Wp,-U_FORTIFY_SOURCE 
-fstrict-aliasing -fstrict-overflow -ggdb2 -gsplit-dwarf -Xclang 
-debug-info-kind=constructor -Wl,-z -Wl,origin -Wl,-rpath -Wl,\$ORIGIN 
-Wl,-rpath-link -Wl,/home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program 
-Wl,-z -Wl,origin -Wl,-rpath -Wl,\$ORIGIN -Wl,-rpath-link 
-Wl,/home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program -o 
.libs/redland-db-upgrade db_upgrade.o  
-L/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/raptor/src/.libs
 
/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/raptor/src/.libs/libraptor2.so
 -L/home/tdf/
 lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/libxml2/.libs 
/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/libxml2/.libs/libxml2.so
 
-L/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/rasqal/src/.libs
 
/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/UnpackedTarball/rasqal/src/.libs/librasqal.so
 ../src/.libs/librdf.so
    > /opt/rh/gcc-toolset-12/root/usr/bin/ld: 
/home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program/libicuuc.so.74: 
undefined reference to `__ubsan_vptr_type_cache'
    > /opt/rh/gcc-toolset-12/root/usr/bin/ld: 
/home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program/libicuuc.so.74: 
undefined reference to `__ubsan_handle_function_type_mismatch_v1'
    > /opt/rh/gcc-toolset-12/root/usr/bin/ld: 
/home/tdf/lode/jenkins/workspace/lo_ubsan/instdir/program/libicuuc.so.74: 
undefined reference to `__ubsan_handle_dynamic_type_cache_miss'
    > clang-12: error: linker command failed with exit code 1 (use -v to see 
invocation)
    > make[3]: *** [Makefile:489: redland-db-upgrade] Error 1
    
    (<https://ci.libreoffice.org/job/lo_ubsan/3239/>) because $(CC) is used to 
link
    a (nominally C-only) executable that links against C++ ICU shared libraries 
that
    in turn require a C++-specific UBSan library to be linked in.  So just use
    $(CXX) for linking instead.
    
    Change-Id: If7c61c6ee7e1b43965a928b1560f8ab4ae2b0603
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170277
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de>

diff --git a/external/redland/UnpackedTarball_redland.mk 
b/external/redland/UnpackedTarball_redland.mk
index 66e766d20fee..31ebcb8f2f0a 100644
--- a/external/redland/UnpackedTarball_redland.mk
+++ b/external/redland/UnpackedTarball_redland.mk
@@ -33,6 +33,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,redland,\
        external/redland/redland/rpath.patch \
        external/redland/redland/clang-cl.patch \
        external/redland/redland/libtool.patch \
+       external/redland/redland/ubsan.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/redland/redland/ubsan.patch 
b/external/redland/redland/ubsan.patch
new file mode 100644
index 000000000000..8226258ea38b
--- /dev/null
+++ b/external/redland/redland/ubsan.patch
@@ -0,0 +1,11 @@
+--- utils/Makefile.in
++++ utils/Makefile.in
+@@ -106,7 +106,7 @@
+ AM_V_at = $(am__v_at_@AM_V@)
+ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+ am__v_at_0 = @
+-CCLD = $(CC)
++CCLD = $(CXX)
+ LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@

Reply via email to