From fcfa399067a7606e0ffc426265428b25c8e9260d Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 13 Jan 2015 10:54:36 +0100 Subject: external/libmwaw: Work around -fsanitize=shift Change-Id: Ia44ef02bc19653e2a20b2da52f5b5b377950353d --- external/libmwaw/UnpackedTarball_libmwaw.mk | 1 + external/libmwaw/ubsan.patch.0 | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 external/libmwaw/ubsan.patch.0 (limited to 'external/libmwaw') diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk index e37d82d33628..5338ce52c691 100644 --- a/external/libmwaw/UnpackedTarball_libmwaw.mk +++ b/external/libmwaw/UnpackedTarball_libmwaw.mk @@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libmwaw,1)) $(eval $(call gb_UnpackedTarball_add_patches,libmwaw,\ external/libmwaw/0001-ClarisWorks-AppleWorks-spreadsheet-do-not-remove-fir.patch \ external/libmwaw/0002-ClarisWors-AppleWorks-spreadsheet-Oops-correct-of-a-.patch \ + external/libmwaw/ubsan.patch.0 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libmwaw/ubsan.patch.0 b/external/libmwaw/ubsan.patch.0 new file mode 100644 index 000000000000..4a7f21093004 --- /dev/null +++ b/external/libmwaw/ubsan.patch.0 @@ -0,0 +1,11 @@ +--- src/lib/WingzParser.cxx ++++ src/lib/WingzParser.cxx +@@ -1120,7 +1120,7 @@ + MWAWColor colors[4]; + for (int i=0; i<4; ++i) { // font, back, unknown,font color + val=(int) input->readULong(4); +- int col=((val>>16)&0xFF)|(val&0xFF00)|((val<<16)&0xFFFFFF); ++ int col=((val>>16)&0xFF)|(val&0xFF00)|((val&0xFF)<<16); + int high=(val>>24); + colors[i]=MWAWColor(uint32_t(col)|0xFF000000); + switch (i) { -- cgit