i18npool/source/collator/gencoll_rule.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit d7edac51367fe92c2659afdfd6e4d7c771dc5229 Author: Tor Lillqvist <t...@collabora.com> AuthorDate: Tue May 5 18:58:32 2020 +0300 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu May 7 07:08:44 2020 +0200 ICU requires that a collator charset data array is four-byte-aligned See workdir/UnpackedTarball/icu/source/common/utrie2.cpp, the U_POINTER_MASK_LSB() check: if( length<=0 || (U_POINTER_MASK_LSB(data, 3)!=0) || valueBits<0 || UTRIE2_COUNT_VALUE_BITS<=valueBits ) { *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR; return 0; } Apparently the data pointer there is always a multiple of four bytes from the start of the data array that the gencoll_rule code generates. Change-Id: I9b98b01b49b5800e1db8b077a4221b82d59510bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93507 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tor Lillqvist <t...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93603 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx index 091ff6b2fa90..2d55e0c8917d 100644 --- a/i18npool/source/collator/gencoll_rule.cxx +++ b/i18npool/source/collator/gencoll_rule.cxx @@ -50,7 +50,7 @@ static void data_write(char* file, char* name, sal_uInt8 *data, sal_Int32 len) fprintf(fp, "\nextern \"C\" {\n"); // generate main dict. data array - fprintf(fp, "\nstatic const sal_uInt8 %s[] = {", name); + fprintf(fp, "\nalignas(4) static const sal_uInt8 %s[] = {", name); sal_Int32 count = 0; for (sal_Int32 i = 0; i < len; i++) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits