5a25b0a
From 811575c105b0a2bc597afda2f84a087199447ae5 Mon Sep 17 00:00:00 2001
5a25b0a
Message-Id: <811575c105b0a2bc597afda2f84a087199447ae5.1531842164.git.erack@redhat.com>
5a25b0a
From: Stephan Bergmann <sbergman@redhat.com>
5a25b0a
Date: Wed, 18 Apr 2018 16:35:55 +0200
5a25b0a
Subject: [PATCH] Keep the still relevant part of
5a25b0a
 external/icu/icu4c-ubsan.patch.1
5a25b0a
MIME-Version: 1.0
5a25b0a
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
5a25b0a
5a25b0a
This is a multi-part message in MIME format.
5a25b0a
--------------erAck-patch-parts
5a25b0a
Content-Type: text/plain; charset=UTF-8; format=fixed
5a25b0a
Content-Transfer-Encoding: 8bit
5a25b0a
5a25b0a
5a25b0a
...which f247f08e370626bbb427acd8f4a400fd875350a3 "Upgrade to ICU 61.1" had
5a25b0a
removed completely, in error.
5a25b0a
5a25b0a
Change-Id: I7239011561851333cac58e54e4e7d590b8529dbc
5a25b0a
---
5a25b0a
 external/icu/UnpackedTarball_icu.mk |  1 +
5a25b0a
 external/icu/icu4c-ubsan.patch.1    | 14 ++++++++++++++
5a25b0a
 2 files changed, 15 insertions(+)
5a25b0a
 create mode 100644 external/icu/icu4c-ubsan.patch.1
5a25b0a
5a25b0a
5a25b0a
--------------erAck-patch-parts
5a25b0a
Content-Type: text/x-patch; name="0001-Keep-the-still-relevant-part-of-external-icu-icu4c-u.patch"
5a25b0a
Content-Transfer-Encoding: 8bit
5a25b0a
Content-Disposition: attachment; filename="0001-Keep-the-still-relevant-part-of-external-icu-icu4c-u.patch"
5a25b0a
5a25b0a
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
5a25b0a
index b81cdaab6242..c789e6eb8d84 100644
5a25b0a
--- a/external/icu/UnpackedTarball_icu.mk
5a25b0a
+++ b/external/icu/UnpackedTarball_icu.mk
5a25b0a
@@ -27,6 +27,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
5a25b0a
 	external/icu/icu4c-solarisgcc.patch.1 \
5a25b0a
 	external/icu/icu4c-mkdir.patch.1 \
5a25b0a
 	external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
5a25b0a
+	external/icu/icu4c-ubsan.patch.1 \
5a25b0a
 	external/icu/icu4c-icu11100.patch.1 \
5a25b0a
 	external/icu/icu4c-scriptrun.patch.1 \
5a25b0a
 	external/icu/icu4c-rtti.patch.1 \
5a25b0a
diff --git a/external/icu/icu4c-ubsan.patch.1 b/external/icu/icu4c-ubsan.patch.1
5a25b0a
new file mode 100644
5a25b0a
index 000000000000..ea9f13fd85cd
5a25b0a
--- /dev/null
5a25b0a
+++ b/external/icu/icu4c-ubsan.patch.1
5a25b0a
@@ -0,0 +1,14 @@
5a25b0a
+diff -ur icu.org/source/common/ubidiimp.h icu/source/common/ubidiimp.h
5a25b0a
+--- icu.org/source/common/ubidiimp.h	2017-02-03 19:57:23.000000000 +0100
5a25b0a
++++ icu/source/common/ubidiimp.h	2017-04-21 22:46:25.374651159 +0200
5a25b0a
+@@ -198,8 +198,8 @@
5a25b0a
+ /* in a Run, logicalStart will get this bit set if the run level is odd */
5a25b0a
+ #define INDEX_ODD_BIT (1UL<<31)
5a25b0a
+ 
5a25b0a
+-#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)(level)<<31))
5a25b0a
+-#define ADD_ODD_BIT_FROM_LEVEL(x, level)  ((x)|=((int32_t)(level)<<31))
5a25b0a
++#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((uint32_t)(level)<<31))
5a25b0a
++#define ADD_ODD_BIT_FROM_LEVEL(x, level)  ((x)|=((uint32_t)(level)<<31))
5a25b0a
+ #define REMOVE_ODD_BIT(x)                 ((x)&=~INDEX_ODD_BIT)
5a25b0a
+ 
5a25b0a
+ #define GET_INDEX(x)   ((x)&~INDEX_ODD_BIT)
5a25b0a
5a25b0a
--------------erAck-patch-parts--
5a25b0a
5a25b0a