Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 81dc1c86 | 2022-12-22 12:15:55 | Ramp up CMake to v3 (#991) Drive-by: drop premake5 support | ||
| a7b7839f | 2022-12-21 02:52:31 | Add *.d to gitignore (#975) | ||
| 3152d995 | 2022-12-20 17:35:26 | Replace deprecated win-2016 workflows (#990) * Remplace deprecated win-2016 workflows * Update action/checkout to v3 | ||
| c48ebca4 | 2022-12-20 12:25:26 | Fix bazel build (#989) | ||
| 9b537032 | 2022-12-20 11:03:21 | CMake: ensure static libraries are still installed on Emscripten (#988) Similar to commit ce222e317e36aa362e83fc50c7a6226d238e03fd. | ||
| 641bec0e | 2022-12-16 12:42:42 | CMake: Allow using BUILD_SHARED_LIBS to choose static/shared libs (#655) By convention projects using CMake which can build either static or shared libraries use a BUILD_SHARED_LIBS flag to allow selecting between both: the add_library() command automatically switches between both using this variable when the library kind is not passed to add_library(). It is also usual to expose the BUILD_SHARED_LIBS as an user-facing setting with the option() command. This way, the following will both work as expected: % cmake -DBUILD_SHARED_LIBS=OFF ... % cmake -DBUILS_SHARED_LIBS=ON ... This is helpful for distributions which need (or want) to build only static libraries. | ||
| 3914999f | 2022-11-17 19:19:55 | Fix typo (#951) | ||
| f842c1bc | 2022-11-17 13:37:20 | fix macos rpath (#976) Without this patch, the three libraries are not provided with valid rpaths, meaning they are not packaged correctly for macos. c.f. https://github.com/google/brotli/issues/934 (which is a similar issue) but should be fixed by this fix as well. Also https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/merge_requests/129 | ||
| ae212a79 | 2022-11-17 14:31:35 | Fix bootstrap version computing with custom bc (#978) When i have ~/.bc configuration file with content: scale=2 which is changing default behaviour (scale=0), bootstrap is not working. | ||
| a8f5813b | 2022-11-17 13:03:09 | Update Documentation: - add note that brotli is a "stream" format, not an archive-like - regenerate .1 with Pandoc Build: - drop legacy "BROTLI_BUILD_PORTABLE" option - drop "BROTLI_SANITIZED" definition Code: - c: comb includes - c/enc: extract encoder state into separate header - c/enc: drop designated q10 codepath - c/enc: dealing better with flushing of empty stream - fix MSVC compilation API: - py: use library version instead of one in version.h - c: add plugable API to report consumed input / produced output - c/java: support "lean" prepared dictionaries (without copy of source) | ||
| 388d0d53 | 2022-11-16 01:39:13 | add pyproject.toml (#987) * add pyproject.toml pypa/pip#8559 https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/#fallback-behaviour * modify requirements https://github.com/google/brotli/pull/987#issuecomment-1315486841 | ||
| 6d03dfbe | 2022-10-25 12:29:58 | Fix -Wstrict-prototypes warnings (#985) Envoy builds brotli with -Werror, and these strict prototypes are picked up by newer versions of clang. | ||
| 9801a2c5 | 2022-05-12 09:50:48 | Wrap interface include directories with BUILD_INTERFACE generator expression (#966) * Wrap interface include directories with BUILD_INTERFACE generator expression When exporting a CMake target using install(TARGETS) + install(EXPORT), CMake requires all include directories to be clean of build system directories. https://cmake.org/cmake/help/latest/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.html This change also allows use of brotli as a CMake subproject and installing + exporting it. * Fix typo in generator expression | ||
| f09b2555 | 2022-05-11 11:21:00 | bootstrap: Fix exit code when autoreconf fails (#962) Fixes: ./bootstrap: line 37: exit: $: numeric argument required | ||
| c9eb8569 | 2022-05-11 11:20:39 | Fix bootstrap on macOS (#965) * bootstrap: Verify functionality of sed Check for the existence of sed by running a simple substitution rather than using the --version flag. This lets us remove the weird exclusion of FreeBSD from checking the sed requirement, and fixes checking the sed requirement on other systems like macOS that use BSD sed, which doesn't support --version. * bootstrap: Detect flag for sed extended RE Detect whether sed needs -E or -r to enable extended regular expressions. Fixes bootstrap on macOS, whose BSD sed does not support -r. GNU sed has supported -E as a synonym for -r since version 4.2 (2009), initially as an undocumented option for compatibility with BSD sed: http://git.savannah.gnu.org/cgit/sed.git/commit/sed/sed.c?id=3a8e165ab02487c372df217c1989e287625ce0ae and later as a documented option after -E became POSIX: http://git.savannah.gnu.org/cgit/sed.git/commit/sed/sed.c?id=8b65e07904384b529a464c89f3739d2e7e4d5135 | ||
| f4153a09 | 2022-01-10 11:08:10 | Fix for future versions of python (#911) Starting python 3.10, the use of - instead of _ will get a warn (see https://bugs.gentoo.org/796281 for reference) Signed-off-by: Marco Scardovi <marco@scardovi.com> | ||
| e83c7b8e | 2021-12-15 02:28:25 | Supress cmake warning (#931) Not providing VERSION to "project" command will cause a warning. Since this project's version is loaded from other files, this policy will help suppress the warning generated by cmake. This policy is set because we can't provide "VERSION" in "project" command. Use `cmake --help-policy CMP0048` for more information | ||
| 4ec67035 | 2021-12-07 01:47:07 | Merge pull request #929 from jbms/fix-vla-parameter Fix -Werror=vla-parameter errors with GCC 11.2.0 | ||
| 8376f72e | 2021-11-10 10:34:39 | Prepare for copybara (#939) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org> | ||
| 27dd7265 | 2021-09-14 12:27:45 | Fix -Werror=vla-parameter errors with GCC 11.2.0 | ||
| 62662f87 | 2021-09-08 09:18:45 | Strip "./" in includes (#925) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org> | ||
| 698e3a7f | 2021-08-31 15:24:35 | Update README.md Fix typo in Gihtub actions badge | ||
| a10269ce | 2021-08-31 15:22:23 | Update README.md (#923) | ||
| 0e42caf3 | 2021-08-31 14:07:17 | Migrate to github actions (#920) Not all combinations are migrated to the initial configuration; corresponding TODOs added. Drive-by: additional combinations uncovered minor portability problems -> fixed Drive-by: remove no-longer used "script" files. Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org> | ||
| 68f1b90a | 2021-08-18 19:15:07 | Update (#918) Prepare to use copybara worklow. | ||
| 19d86fb9 | 2021-08-04 14:42:02 | Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org> | ||
| 630b5084 | 2021-07-29 22:29:43 | Update (#914) * slimmer stack frames in encoder * fix MSAN problem in hasher_composite (not dangerous, only in large_window mode) * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes * reformat polyfil.js and decode_test.js | ||
| ce222e31 | 2021-06-23 10:12:21 | Enabled install when building with emscripten. (#906) * Enabled install when building with emscripten. * Also install the pkg-config files. | ||
| 0a3944c8 | 2021-06-23 08:53:59 | Fix VLA parameter warning (#893) Make VLA buffer types consistent in declarations and definitions. Resolves build crash when using -Werror due to "vla-parameter" warning. Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com> | ||
| bdcfb123 | 2021-06-23 16:42:28 | Fix typo in hash_composite_inc.h (#903) defered -> deferred | ||
| f8c67177 | 2021-06-23 09:40:57 | Update (#908) * re-enable Js build/test * improve decoder performance * rewrite dictionary data in Java/Js to a shorter uncompressed form * improve dictionary generation tool | ||
| bbe5d72b | 2021-03-24 22:23:03 | [Java] make it possible to set modes (generic, text, font) (#887) * [Java] make it possible to set modes (generic, text, font) | ||
| 2f9277ff | 2021-03-24 15:05:23 | Update bazel WORKSPACE files (#896) * Update bazel WORKSPACE files * Use fresh OSX image * Cache homebrew dirs for faster startup | ||
| 63be8a99 | 2021-01-27 15:08:05 | unichr was removed in Python 3 because all str are Unicode (#877) https://python-future.org/compatible_idioms.html#unichr | ||
| 2a51a85a | 2021-01-18 07:59:02 | New Dart fast FFI-based Brotli implementation (#866) New Dart compression framework with [fast FFI-based Brotli implementation](https://pub.dev/documentation/es_compression/latest/brotli/brotli-library.html) with ready-to-use prebuilt binaries for Win/Linux/Mac | ||
| 5692e422 | 2021-01-18 10:56:39 | Update (#852) * Update * comments and clarifications in block_splitter * power-of-2 aligned allocations for Hasher * refresh decode.js from Java sources * disable JS build | ||
| f1684561 | 2021-01-08 17:54:44 | Fix typo in variable name (#854) * Fix typo in variable name * Fix compile error | ||
| 0e8afdc9 | 2021-01-08 14:21:44 | typo fix (#868) | ||
| 4969984a | 2021-01-08 13:21:02 | Bump junit from 4.12 to 4.13.1 in /java/org/brotli/dec (#853) Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | ||
| fcda9db7 | 2020-10-08 14:50:33 | Shorten docs/brotli.svg Kudos to @alrra | ||
| 685d7bae | 2020-09-27 19:00:29 | docs: Fix small typo: rougly -> roughly (#849) | ||
| 60b2a7ad | 2020-09-25 13:37:31 | Add Python 3.7 and 3.8 to Travis (#847) | ||
| f6b3aa6d | 2020-09-24 13:43:44 | Add brotli logo (#845) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org> | ||
| f2ca32ed | 2020-09-21 06:24:13 | Change MANIFEST.in to include python regression tests in tarball (#841) * Change MANIFEST.in to include python regression tests in tarball * Python tests need the testdata from the base tests directory | ||
| 97006561 | 2020-09-21 13:22:56 | Fix VC C++ 12.0 BROTLI_MSVC_VERSION_CHECK calls (#843) | ||
| 0cd2e392 | 2020-09-08 17:48:31 | Fix MSVC linker error (#840) The -lm linker option is not known to MSVC and setting it triggers errors in some build systems: [6,366 / 6,367] Linking source/exe/envoy-static.exe; 11s remote LINK : warning LNK4044: unrecognized option '/lm'; ignored LINK : error LNK1218: warning treated as error; no output file generated ERROR: C:/source/source/exe/BUILD:22:16: Linking of rule '//source/exe:envoy-static' failed (Exit 4044): link.exe failed: error executing command Do not set -lm in case of MSVC. | ||
| 90fd2b60 | 2020-09-07 10:53:03 | add execution time (#834) | ||
| 7e8e207c | 2020-09-07 10:40:03 | Fix clang-10 compilation issue (#839) clang-10 throws the following error: In file included from external/org_brotli/c/enc/bit_cost.c:9: external/org_brotli/c/enc/./bit_cost.h:48:16: error: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Werror,-Wimplicit-int-float-conversion] if (retval < sum) { ~ ^~~ 1 error generated. Make the conversion explicit. | ||
| 09b0992b | 2020-09-02 11:38:26 | Revert "Add runtime linker path to pkg-config files (#740)" (#838) This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1. | ||
| 0545759b | 2020-08-28 10:14:08 | Address issues noted in #833 | ||
| e61745a6 | 2020-08-27 16:12:55 | Re-release | ||
| db361a0b | 2020-08-27 15:56:54 | Re-add python bindings to sources tarball | ||
| d518e55b | 2020-08-26 18:46:19 | Update README.md | ||
| d0529182 | 2020-08-26 17:13:31 | Fix build files (#829) | ||
| 665e81dc | 2020-08-26 14:36:02 | New version: 1.0.8 (#827) | ||
| 223d80cf | 2020-08-26 12:32:27 | Update (#826) * IMPORTANT: decoder: fix potential overflow when input chunk is >2GiB * simplify max Huffman table size calculation * eliminate symbol duplicates (static arrays in .h files) * minor combing in research/ code | ||
| 0c5603e0 | 2020-07-09 16:40:01 | Fix output parameter type for _BitScanReverse (#819) Fix #811 | ||
| e8155d67 | 2020-07-09 15:35:57 | CMake: change default ("") build type to Release (#818) Fix #817 | ||
| fc823290 | 2020-07-02 19:45:57 | Mute strerror/strcpy warnings is MSVC build. (#815) | ||
| 55193526 | 2020-07-02 17:57:40 | Add workaround for lying feof. (#814) Should fix #812 | ||
| d2ea1982 | 2020-06-30 17:23:07 | Update platform.h (#813) fix compile error (platform.h:362: error: cast discards qualifiers from pointer target type) | ||
| 31754d4f | 2020-05-15 13:11:01 | Add runtime linker path to pkg-config files (#740) Otherwise libraries will not be found at runtime when installing to a path not included in the default runtime linker's path with programs linking brotli configured via pkg-config. | ||
| 8f093f5e | 2020-05-15 14:05:03 | .gitignore: Ignore .obj files (#805) EDK II windows build produces .obj files in source tree | ||
| f0db711f | 2020-05-15 13:04:17 | Filter sources for the tarball. (#808) | ||
| 7f740f13 | 2020-05-15 11:06:21 | Update (#807) - fix formatting - fix type conversion - fix no-op arithmetic with null-pointer - improve performance of hash_longest_match64 - go: detect read after close - java decoder: support compound dictionary - remove executable flag on non-scripts | ||
| f83aa516 | 2020-03-31 14:38:01 | Update bazel to 2.2 + update config (#798) Newer bazel does not support `maven_jar` rule anymore... | ||
| 924b2b2b | 2020-03-19 03:57:56 | Move TZCNT and BSR intrinsics to platform.h, add MSVC versions (#636) | ||
| 0503d8b7 | 2020-03-19 11:54:51 | Added go.mod file to go/cbrotli directory (#754) * Added go.mod file * go.mod removed go version | ||
| f503cb70 | 2020-03-19 11:46:52 | Add HAVE_LOG2 build macro (#783) * Add HAVE_LOG2 build macro Fixes #781 * Rename macro to BROTLI_HAVE_LOG2 and move comment for visibility | ||
| 36ac0fea | 2020-03-19 01:52:07 | Adding CIFuzz (#797) | ||
| 666c3280 | 2020-02-14 17:40:02 | Make types of variable match (#796) | ||
| 4b5771be | 2019-12-19 18:15:58 | Add missing "const" to a couple of kConstants (#780) These showed up in a Chromium audit: https://bugs.chromium.org/p/chromium/issues/detail?id=747064#c8 Although already effectively const, adding "const" causes the symbols to be moved into the read-only section of the binary. | ||
| c435f066 | 2019-10-01 13:53:11 | Add vcpkg installation instructions (#776) | ||
| 5c3a9a93 | 2019-08-16 08:32:14 | Fix license in setup.py (#769) | ||
| afc4a742 | 2019-08-13 06:49:30 | Add oss-fuzz fuzzing status badge to README (#767) | ||
| 35ef5c55 | 2019-08-13 15:23:04 | Disable PIC in EMCC mode. (#768) | ||
| ca21dac8 | 2019-08-07 10:51:55 | Add an option to avoid building shared libraries. (#766) Add an option to avoid building shared libraries (for building with EMCC) Drive-by: * maven: ramp up java level to minimal required * travis: replace deprecated clang-5.0 with clang-7 * maven: fallback to jdk10 to void javadoc bug | ||
| 3d176718 | 2019-07-30 10:01:21 | Fix include for EMCC build (#765) | ||
| f1124c85 | 2019-07-22 14:29:51 | More careful sanitizer detection (#764) | ||
| c8b37e8f | 2019-07-17 14:39:56 | Update (#762) * put LICENSE file into .jar * fix typo * add clarification comment in PY wrapper | ||
| 40f0fdcd | 2019-07-16 17:49:14 | Explicitly mark tests/testdata/* as binary. (#761) Fixes #760 Drive-by: * update go_rules * modernize brotli_inc * fix wrapper build * update PY to 3 in Travis / OSX / Bazel build * upgrade JS Bazel rules. | ||
| 78e7bbc3 | 2019-05-03 11:51:11 | Update (#753) * fix executable mode of decode.js * explain clang-analyser about non-nullability * fix "dead assignment" * rename proguard.cfg -> proguard.pgcfg | ||
| 4b2b2d4f | 2019-04-12 13:57:42 | Update (#749) Update: * Bazel: fix MSVC configuration * C: common: extended documentation and helpers around distance codes * C: common: enable BROTLI_DCHECK in "debug" builds * C: common: fix implicit trailing zero in `kPrefixSuffix` * C: dec: fix possible bit reader discharge for "large-window" mode * C: dec: simplify distance decoding via lookup table * C: dec: reuse decoder state members memory via union with lookup table * C: dec: add decoder state diagram * C: enc: clarify access to static dictionary * C: enc: improve static dictionary hash * C: enc: add "stream offset" parameter for parallel encoding * C: enc: reorganize hasher; now Q2-Q3 require exactly 256KiB to avoid global TCMalloc lock * C: enc: fix rare access to uninitialized data in ring-buffer * C: enc: reorganize logging / checks in `write_bits.h` * Java: dec: add "large-window" support * Java: dec: improve speed * Java: dec: debug and 32-bit mode are now activated via system properties * Java: dec: demystify some state variables (use better names) * Dictionary generator: add single input mode * Java: dec: modernize tests * Bazel: js: pick working commit for closure rules | ||
| 9cd01c04 | 2019-02-19 11:14:20 | Update WORKSPACE files. (#742) | ||
| 8109882e | 2019-02-18 11:31:48 | Fix #741 | ||
| 5805f99a | 2018-11-12 04:36:00 | Ensure decompression consumes all input (#730) * Ensure decompression consumes all input If not, it's a corrupt stream. * Use byte strings | ||
| d0ffe60b | 2018-10-24 16:06:09 | Verbose CLI + start pulling "Shared-Brotli" (#722) * Verbose CLI + start pulling "Shared-Brotli" * vesbose CLI output; fix #666 * pull `SHIFT` transforms; currently this is semantically dead code; later it will be used by "Shared-Brotli" | ||
| d6d98957 | 2018-10-23 12:24:40 | Ramp up version to 1.0.7 | ||
| a1e44975 | 2018-10-19 17:01:54 | Fix #698 | ||
| a799e34c | 2018-10-18 17:25:05 | Remove dependency to full JDK. This should speedup clean builds. (#719) * Remove dependency to full JDK. This should speedup clean builds. * Upgrade appveyor bazel | ||
| 7a153ebb | 2018-10-17 16:29:32 | make/build: ensure NEON is enabled and tested (#718) Make sure the travis CI aarch32 bot tests NEON, and also that running CROSS_COMPILE=arm-linux-gnueabihf make enables the use of NEON to accelerate the back-reference copying. | ||
| ce8951c3 | 2018-10-16 17:19:37 | Fix `<arm_neon.h>` inclusion guard. (#717) | ||
| f7cbc97c | 2018-10-16 16:46:54 | Fix typo / minor formatting (#716) * Fix typo / minor formatting / pull computable constant to the place of use. | ||
| cc7a74f1 | 2018-10-08 14:40:11 | decode: fix NEON inclusion (#714) The macro that checks for NEON support should be __ARM_NEON, not __ARM_NEON__. [1] AArch64 compilers define __ARM_NEON but not __ARM_NEON__. AArch32 compilers currently seem to define both, but could be within their rights to drop __ARM_NEON__ in future versions. This change moves the check into the common/platform.h file, checks for both forms, and sets BROTLI_TARGET_NEON if NEON support is available. [1] Section 6.5.4 of the ARM C Language Extensions. (At the time of writing, the latest version was Release 2.1.) | ||
| c94c6f80 | 2018-10-02 07:28:37 | tools/brotli: improve window size autodetect (#710) Window size is defined as: `(1 << BROTLI_PARAM_LGWIN) - 16` in `c/include/brotli/encode.h` Therefore we should probably take these 16 bytes into account. Done basic manual testing: $ python3 -c 'print ("A"*2046)' > t $ bazel run -- //:brotli -w 0 -f -o $(realpath t).br $(realpath ./t) $ python3 research/brotlidump.py t.br |& fgrep WSIZE 0000 c1 1000001 WSIZE windowsize=(1<<12)-16=4080 New version properly detects window size of `4080`, while previous one used `2032`: $ python3 research/brotlidump.py t.br |& fgrep WSIZE 0000 b1 0110001 WSIZE windowsize=(1<<11)-16=2032 | ||
| 9402ac5c | 2018-09-27 12:15:46 | decode: faster huffman code loading on 32-bit Arm (#703) * platform: add macro for using the 'aligned' attribute * decode: add accessor macros for HuffmanCode fields Adds a constructor function for building HuffmanCode values so they can be accessed quickly on different architectures. Also adds macros for marking a HuffmanCode table pointer that can be accessed quickly (BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD), adjusting the index into that table (BROTLI_HC_ADJUST_TABLE_INDEX), and getting the .bits or .value fields out of the table at the current index (BROTLI_HC_GET_BITS/VALUE). For example, assuming |table| contains a HuffmanCode pointer: BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table); BROTLI_HC_ADJUST_TABLE_INDEX(table, index_into_table); *bits = BROTLI_HC_GET_BITS(table); *value = BROTLI_HC_GET_VALUE(table); BROTLI_HC_ADJUST_TABLE_INDEX(table, offset); *bits2 = BROTLI_HC_GET_BITS(table); *value2 = BROTLI_HC_GET_VALUE(table); All uses of the HuffmanCode have been updated appropriately. * decode: add alternative accessors for HuffmanCode on Arm AArch32 | ||
| 67f059ea | 2018-09-27 10:00:33 | Cross compilation support (#709) * build: add cross-compilation support to make Set CROSS_COMPILE when running make to use the selected cross compilation toolchain, such as arm-linux-gnueabihf, or aarch64-linux-gnu. Testing requires the presence of qemu - 'qemu-$(ARCH)' will be executed, where ARCH is the first part of the toolchain triplet. * build: add cross-compilation support to cmake If C_COMPILER/CXX_COMPILER/CC/CXX are found to have cross-compilation triplets in front of the compiler, then qemu will be used to execute the tests. * CI: add arm-linux-gnueabihf-gcc builder to Travis The version of qemu available in Ubuntu trusty (as provided by Travis) appears to have a bug in qemu-aarch64, which leads to the compatibility tests failing on some inputs, erroneously rejecting the input as corrupt. Once Travis supports xenial, we could add an aarch64-gnu-linux-gcc builder as well. * CI: propagate cmake errors out of .travis.sh Seems like even if cmake fails, the error isn't picked up by Travis. | ||
| 6eba239a | 2018-09-13 19:31:23 | Fix auto detect of bundled mode (#704) Set bundled mode to ON when parent directory is not empty. Due to the peculiarities of CMake if, comparing an undefined variable to the empty string is false, so this likely never triggered. | ||
| 2216a0dd | 2018-09-13 08:09:32 | Update (#706) Update * add ASAN/MSAN unaligned read specializations * add "brotli" prefix to u_uint64 type * increment version to 1.0.06 * fix CoverityScan "unused assignment" warning * fix JDK 8<->9 incompatibility * add encoder optimization for empty input * regenerate JS decoder * unbreak Travis builds | ||
| d4cd6cdf | 2018-07-25 10:43:06 | platform: fix unaligned 64-bit accesses on AArch32 (#702) Ensures that Aarch32 Arm builds with an Armv8 compiler do not set BROTLI_64_BITS. This scenario is possible with ChromeOS builds, as they may use a toolchain with the target armv7-cros-gnueabi, but with -march=armv8. This will set __ARM_ARCH to 8 (defining BROTLI_TARGET_ARMV8), but will also set __ARM_32BIT_STATE and not __ARM_64BIT_STATE. Without this, illegal 64-bit non-word-aligned reads (LDRD) may be emitted. Also fix unaligned 64-bit reads on AArch32 - STRD was still possible to emit. |