fix compile fail on el8 aarch64

This commit is contained in:
Tom Callaway 2020-07-22 15:41:48 -04:00
parent 02866e970d
commit c59938463c
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,32 @@
diff -up chromium-84.0.4147.89/third_party/libjpeg_turbo/simd/arm/common/jidctfst-neon.c.arm-incompatible-ints chromium-84.0.4147.89/third_party/libjpeg_turbo/simd/arm/common/jidctfst-neon.c
--- chromium-84.0.4147.89/third_party/libjpeg_turbo/simd/arm/common/jidctfst-neon.c.arm-incompatible-ints 2020-07-22 15:17:07.171430022 -0400
+++ chromium-84.0.4147.89/third_party/libjpeg_turbo/simd/arm/common/jidctfst-neon.c 2020-07-22 15:31:40.068296015 -0400
@@ -84,8 +84,8 @@ void jsimd_idct_ifast_neon(void *dct_tab
bitmap = vorrq_s16(bitmap, row6);
bitmap = vorrq_s16(bitmap, row7);
- int64_t left_ac_bitmap = vreinterpret_s64_s16(vget_low_s16(bitmap));
- int64_t right_ac_bitmap = vreinterpret_s64_s16(vget_high_s16(bitmap));
+ int64x1_t left_ac_bitmap = vreinterpret_s64_s16(vget_low_s16(bitmap));
+ int64x1_t right_ac_bitmap = vreinterpret_s64_s16(vget_high_s16(bitmap));
if (left_ac_bitmap == 0 && right_ac_bitmap == 0) {
/* All AC coefficients are zero. */
@@ -405,13 +405,13 @@ void jsimd_idct_ifast_neon(void *dct_tab
vqshrn_n_s16(col7, PASS1_BITS + 3));
/* Clamp to range [0-255]. */
uint8x16_t cols_01 = vreinterpretq_u8_s8(
- vaddq_s8(cols_01_s8, vdupq_n_u8(CENTERJSAMPLE)));
+ vaddq_s8(cols_01_s8, (int8x16_t)vdupq_n_u8(CENTERJSAMPLE)));
uint8x16_t cols_45 = vreinterpretq_u8_s8(
- vaddq_s8(cols_45_s8, vdupq_n_u8(CENTERJSAMPLE)));
+ vaddq_s8(cols_45_s8, (int8x16_t)vdupq_n_u8(CENTERJSAMPLE)));
uint8x16_t cols_23 = vreinterpretq_u8_s8(
- vaddq_s8(cols_23_s8, vdupq_n_u8(CENTERJSAMPLE)));
+ vaddq_s8(cols_23_s8, (int8x16_t)vdupq_n_u8(CENTERJSAMPLE)));
uint8x16_t cols_67 = vreinterpretq_u8_s8(
- vaddq_s8(cols_67_s8, vdupq_n_u8(CENTERJSAMPLE)));
+ vaddq_s8(cols_67_s8, (int8x16_t)vdupq_n_u8(CENTERJSAMPLE)));
/* Transpose block ready for store. */
uint32x4x2_t cols_0415 = vzipq_u32(vreinterpretq_u32_u8(cols_01),

View File

@ -301,6 +301,10 @@ Patch104: chromium-84.0.4147.89-epel7-old-cups.patch
Patch105: chromium-84.0.4147.89-el-constexpr.patch
# Still not wrong, but it seems like only EL needs it
Patch106: chromium-77-clang.patch
# ARM failures on el8 related to int clashes
# error: incompatible types when initializing type 'int64_t' {aka 'long int'} using type 'int64x1_t'
# note: expected 'int8x16_t' but argument is of type 'uint8x16_t'
Patch107: chromium-84.0.4147.89-el8-arm-incompatible-ints.patch
# Enable VAAPI support on Linux
# NOTE: This patch will never land upstream
@ -916,6 +920,10 @@ udev.
%endif
%endif
%if 0%{?rhel} == 8
%patch107 -p1 -b .el8-arm-incompatible-ints
%endif
# Feature specific patches
%if %{use_vaapi}
%patch202 -p1 -b .vaapi