diff options
author | fanquake <fanquake@gmail.com> | 2022-07-19 11:13:08 +0100 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2022-07-19 12:12:26 +0100 |
commit | c32fa85909dde8f7d61c2a291564f3f26884e170 (patch) | |
tree | be1cf15395a261d1c1e449e59db8ddb7af9942e8 /depends/patches/qt | |
parent | 47dad42833d535aee6071526bec9df1b2497bad3 (diff) |
depends: modify FastFixedDtoa optimisation flags
This fixes a non-determinism issue in the asm produced for
this function when cross-compiling on x86_64 and aarch64 for
the arm-linux-gnueabihf HOST.
Related to #21194.
Diffstat (limited to 'depends/patches/qt')
-rw-r--r-- | depends/patches/qt/fast_fixed_dtoa_no_optimize.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/depends/patches/qt/fast_fixed_dtoa_no_optimize.patch b/depends/patches/qt/fast_fixed_dtoa_no_optimize.patch new file mode 100644 index 0000000000..d4d6539f56 --- /dev/null +++ b/depends/patches/qt/fast_fixed_dtoa_no_optimize.patch @@ -0,0 +1,20 @@ +Modify the optimisation flags for FastFixedDtoa. +This fixes a non-determinism issue in the asm produced for +this function when cross-compiling on x86_64 and aarch64 for +the arm-linux-gnueabihf HOST. + +--- a/qtbase/src/3rdparty/double-conversion/fixed-dtoa.h ++++ b/qtbase/src/3rdparty/double-conversion/fixed-dtoa.h +@@ -48,9 +48,12 @@ namespace double_conversion { + // + // This method only works for some parameters. If it can't handle the input it + // returns false. The output is null-terminated when the function succeeds. ++#pragma GCC push_options ++#pragma GCC optimize ("-O1") + bool FastFixedDtoa(double v, int fractional_count, + Vector<char> buffer, int* length, int* decimal_point); + ++#pragma GCC pop_options + } // namespace double_conversion + + #endif // DOUBLE_CONVERSION_FIXED_DTOA_H_ |