[Libreoffice-commits] core.git: 2 commits - include/o3tl odk/settings

Michael Stahl mstahl at redhat.com
Mon Dec 11 16:51:51 UTC 2017


 include/o3tl/safeint.hxx |    3 ++-
 odk/settings/settings.mk |   14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

New commits:
commit 71d7532f59b6e87729617d6c91bf65f7364ac78a
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Dec 11 17:26:59 2017 +0100

    odk: fix 32-bit Linux build on 64-bit OS
    
    In this situation gcc/g++ will default to x86_64, so pass the "-m32"
    flag to produce x86 binaries.
    
    Change-Id: Ie31cd4240e353db606621cb03107ce03a74cfbef

diff --git a/odk/settings/settings.mk b/odk/settings/settings.mk
index e21d33829ba9..25b31cd68fac 100644
--- a/odk/settings/settings.mk
+++ b/odk/settings/settings.mk
@@ -358,6 +358,10 @@ ifeq "$(PROCTYPE)" "powerpc"
 CC_FLAGS+=-fPIC
 endif
 
+ifeq "$(PROCTYPE)" "x86"
+CC_FLAGS+=-m32
+endif
+
 SDK_JAVA_INCLUDES = -I"$(OO_SDK_JAVA_HOME)/include" -I"$(OO_SDK_JAVA_HOME)/include/linux"
 CC_INCLUDES=-I. -I$(OUT)/inc -I$(OUT)/inc/examples -I$(PRJ)/include
 CC_DEFINES_JNI=-DUNX -DGCC -DLINUX -DCPPU_ENV=$(CPPU_ENV)
@@ -372,9 +376,19 @@ LIBRARY_LINK_FLAGS=-shared -Wl,-z,origin '-Wl,-rpath,$$ORIGIN'
 ifeq "$(PROCTYPE)" "powerpc"
 LIBRARY_LINK_FLAGS+=-fPIC
 endif
+
+ifeq "$(PROCTYPE)" "x86"
+LIBRARY_LINK_FLAGS+=-m32
+endif
+
 COMP_LINK_FLAGS=$(LIBRARY_LINK_FLAGS)
 
 EXE_LINK_FLAGS=-Wl,--allow-shlib-undefined -Wl,-export-dynamic -Wl,-z,defs -Wl,--no-whole-archive
+
+ifeq "$(PROCTYPE)" "x86"
+EXE_LINK_FLAGS+=-m32
+endif
+
 LINK_LIBS=-L"$(OUT)/lib" -L"$(OO_SDK_HOME)/lib" -L"$(OO_SDK_URE_LIB_DIR)"
 LINK_JAVA_LIBS=-L"$(OO_SDK_JAVA_HOME)/jre/lib/$(JAVA_PROC_TYPE)" -L"$(OO_SDK_JAVA_HOME)/lib"
 
commit 3331aecdf89c0b275fb8234414c6a8281114ae33
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Dec 11 16:51:07 2017 +0100

    o3tl: 32-bit clang 4.0.1 fails with undefined reference to `__mulodi4'
    
    ... so prevent it from using __builtin_mul_overflow().
    
    Change-Id: Id716f88abb0385701b6df42353b663479abfd496

diff --git a/include/o3tl/safeint.hxx b/include/o3tl/safeint.hxx
index 56175edb3bbe..67af99cf810c 100644
--- a/include/o3tl/safeint.hxx
+++ b/include/o3tl/safeint.hxx
@@ -82,7 +82,8 @@ template<typename T> inline bool checked_sub(T a, T b, T& result)
     return !msl::utilities::SafeSubtract(a, b, result);
 }
 
-#elif (defined __GNUC__ && __GNUC__ >= 5) || (__has_builtin(__builtin_mul_overflow) && !(defined ANDROID && defined __clang__))
+#elif (defined __GNUC__ && __GNUC__ >= 5) || (__has_builtin(__builtin_mul_overflow) && !(defined ANDROID && defined __clang__) && !(defined(__clang__) && defined(__i386__) && __clang_major__ == 4))
+// 32-bit clang 4.0.1 fails with undefined reference to `__mulodi4'
 
 template<typename T> inline bool checked_multiply(T a, T b, T& result)
 {


More information about the Libreoffice-commits mailing list