[Libreoffice-commits] core.git: 4 commits - external/openldap filter/Configuration_filter.mk rsc/inc rsc/source unotools/source

Stephan Bergmann sbergman at redhat.com
Wed Apr 16 05:14:37 PDT 2014


 external/openldap/ExternalProject_openldap.mk |   13 ++++++++++++-
 filter/Configuration_filter.mk                |    2 +-
 rsc/inc/rscdef.hxx                            |    2 +-
 rsc/source/rscpp/cpp5.c                       |    7 +++----
 unotools/source/misc/fontcvt.cxx              |    2 +-
 5 files changed, 18 insertions(+), 8 deletions(-)

New commits:
commit 42852bb7a33fcfac793224d12cb46ba2f4c8e598
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Apr 16 14:12:56 2014 +0200

    Help openldap configure along when CC contains -fsanitize=address on Linux
    
    Change-Id: Ie1cebb9884d580d5e2bb0e885a22ee04b92aecb5

diff --git a/external/openldap/ExternalProject_openldap.mk b/external/openldap/ExternalProject_openldap.mk
index 1b919f4..6fc4f51 100644
--- a/external/openldap/ExternalProject_openldap.mk
+++ b/external/openldap/ExternalProject_openldap.mk
@@ -15,6 +15,17 @@ $(eval $(call gb_ExternalProject_register_targets,openldap,\
 	build \
 ))
 
+openldap_LDFLAGS =
+ifneq ($(SYSTEM_NSS),)
+openldap_LDFLAGS += -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \
+    $(if $(filter AIX,$(OS)),-Wl$(COMMA)-brtl)
+endif
+# Help openldap's configure determine that it needs -lpthread even if libasan.so
+# contains a pthread_create override:
+ifneq ($(filter -fsanitize=address,$(CC)),)
+openldap_LDFLAGS += -pthread
+endif
+
 $(call gb_ExternalProject_get_state_target,openldap,build) :
 	$(call gb_ExternalProject_run,build,\
 		./configure \
@@ -34,8 +45,8 @@ $(call gb_ExternalProject_get_state_target,openldap,build) :
 				, \
 				CPPFLAGS="-I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include" \
 				CFLAGS="-I$(call gb_UnpackedTarball_get_dir,nss)/dist/public/nss -I$(call gb_UnpackedTarball_get_dir,nss)/dist/out/include" \
-				LDFLAGS="-L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib $(if $(filter AIX,$(OS)),-Wl$(COMMA)-brtl)" \
 			) \
+			$(if $(openldap_LDFLAGS),LDFLAGS="$(openldap_LDFLAGS)") \
 		&& MAKEFLAGS= && $(MAKE) \
 	)
 
commit e71a61bc09a15cdcec872c2b281c9884401cfb7f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Apr 16 14:11:39 2014 +0200

    gbuild: More crude hacking to fix over-evalutation
    
    Change-Id: I36d7b0c40ac60c6cf9f0968530774e4b2b03b829

diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
index d75d81e..fcc989b 100644
--- a/filter/Configuration_filter.mk
+++ b/filter/Configuration_filter.mk
@@ -210,7 +210,7 @@ $$(call filter_XcuResTarget_get_target,$(1)) : \
 	$$(call gb_Output_announce,$(1),$(true),XCU,1)
 	$$(call gb_Helper_abbreviate_dirs,\
 		mkdir -p $$(dir $$@) && \
-		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam lang $(1) \
+		$(subst $$,$$$$,$(call gb_ExternalExecutable_get_command,xsltproc)) --nonet --stringparam lang $(1) \
 			$(filter_XSLT_langfilter) \
 			$(filter_XcuFilterUiTarget) > $$@)
 endef
commit 1c27bb5237ed6067bba70d7ffe63ed9967098b19
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Apr 16 14:09:33 2014 +0200

    Some trivial -fsanitize=undefined adaptions
    
    Change-Id: I60f6e2b5f041919319cb6b72684b8b7b8504560c

diff --git a/rsc/inc/rscdef.hxx b/rsc/inc/rscdef.hxx
index d85657f..c38f3d9 100644
--- a/rsc/inc/rscdef.hxx
+++ b/rsc/inc/rscdef.hxx
@@ -63,7 +63,7 @@ public:
     sal_Int32 GetLong() const
                   {
                       return aExp.aLong.nLo |
-                          ((sal_Int32)aExp.aLong.nHi << 16);
+                          ((sal_uInt32)aExp.aLong.nHi << 16);
                   }
     bool Evaluate( sal_Int32 * pValue ) const;
     void AppendMacro( OStringBuffer & ) const;
diff --git a/rsc/source/rscpp/cpp5.c b/rsc/source/rscpp/cpp5.c
index 92587fe..091b594 100644
--- a/rsc/source/rscpp/cpp5.c
+++ b/rsc/source/rscpp/cpp5.c
@@ -291,16 +291,15 @@ again:  ;
         }
         opp->op = (char)op;
         opp->prec = (char)prec;
-        skip = (valp[-1] != 0);     /* Short-circuit tester */
         /*
          * Do the short-circuit stuff here.  Short-circuiting
          * stops automagically when operators are evaluated.
          */
-        if ((op == OP_ANA && !skip)
-         || (op == OP_ORO && skip))
+        if ((op == OP_ANA && valp[-1] == 0)
+         || (op == OP_ORO && valp[-1] != 0))
             opp->skip = S_ANDOR;    /* And/or skip starts   */
         else if (op == OP_QUE)      /* Start of ?: operator */
-            opp->skip = (char)((op1 & S_ANDOR) | ((!skip) ? S_QUEST : 0));
+            opp->skip = (char)((op1 & S_ANDOR) | ((valp[-1] == 0) ? S_QUEST : 0));
         else if (op == OP_COL) {    /* : inverts S_QUEST    */
             opp->skip = (char)((op1 & S_ANDOR)
                   | (((op1 & S_QUEST) != 0) ? 0 : S_QUEST));
commit 4586d79d7421d0b4289096330c8ae0045023b313
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Apr 16 14:07:23 2014 +0200

    Off by one (-fsanitize=address)
    
    Change-Id: Idaeeb0b70458fe4c02d9ed585cb69db9dabb07b0

diff --git a/unotools/source/misc/fontcvt.cxx b/unotools/source/misc/fontcvt.cxx
index 2b6d4ac..1cb82c1 100644
--- a/unotools/source/misc/fontcvt.cxx
+++ b/unotools/source/misc/fontcvt.cxx
@@ -1193,7 +1193,7 @@ StarSymbolToMSMultiFontImpl::StarSymbolToMSMultiFontImpl(bool bPerfectOnly)
         const ExtendedConvertTable& r = aAgressiveTable[i];
         SymbolEntry aEntry;
         aEntry.eFont = r.meFont;
-        for (int j = r.mnSize / sizeof(r.mpTable[0]); j >=0; --j)
+        for (int j = r.mnSize / sizeof(r.mpTable[0]) - 1; j >=0; --j)
         {
             aEntry.cIndex = r.mpTable[j].cMS;
             maMagicMap.insert(


More information about the Libreoffice-commits mailing list