Meson build fails in aarch64
Reproducible in GStreamer 1.24.0 and 1.24.1
Reproduced in Docker QEMU aarch64 in an x64 CPU and Ampere Altra aarch64 native.
| ^~~~~~~~~~~~~~
[3233/5643] Compiling C object subprojects/x264/libx264-8.a.p/common_aarch64_bitstream-a.S.o
FAILED: subprojects/x264/libx264-8.a.p/common_aarch64_bitstream-a.S.o
cc -Isubprojects/x264/libx264-8.a.p -Isubprojects/x264 -I../subprojects/x264 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -O3 -D_POSIX_C_SOURCE=200112L -D_GNU_SOURCE -D_DEFAULT_SOURCE -Wno-unused-parameter -Wno-sign-compare -Wno-old-style-declaration -Werror=attributes -Werror=ignored-attributes -fno-tree-vectorize -Wshadow -Wno-maybe-uninitialized -DPIC -UPREFIX -ffast-math -fPIC -pthread -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -DX264_API_EXPORTS -MD -MQ subprojects/x264/libx264-8.a.p/common_aarch64_bitstream-a.S.o -MF subprojects/x264/libx264-8.a.p/common_aarch64_bitstream-a.S.o.d -o subprojects/x264/libx264-8.a.p/common_aarch64_bitstream-a.S.o -c ../subprojects/x264/common/aarch64/bitstream-a.S
In file included from ../subprojects/x264/common/aarch64/bitstream-a.S:26:
../subprojects/x264/common/aarch64/asm.S:63:17: error: #if with no expression
63 | #if HAVE_AS_FUNC
| ^
[3242/5643] Compiling C object subprojects/x264/libx264-8.a.p/encoder_set.c.o
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_recovery_point_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:577:24: note: while referencing ‘tmp_buf’
577 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:577:5: note: in expansion of macro ‘ALIGNED_4’
577 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_buffering_period_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:629:24: note: while referencing ‘tmp_buf’
629 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:629:5: note: in expansion of macro ‘ALIGNED_4’
629 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_pic_timing_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:651:24: note: while referencing ‘tmp_buf’
651 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:651:5: note: in expansion of macro ‘ALIGNED_4’
651 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_frame_packing_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:682:24: note: while referencing ‘tmp_buf’
682 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:682:5: note: in expansion of macro ‘ALIGNED_4’
682 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_mastering_display_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:723:24: note: while referencing ‘tmp_buf’
723 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:723:5: note: in expansion of macro ‘ALIGNED_4’
723 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_content_light_level_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:748:24: note: while referencing ‘tmp_buf’
748 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:748:5: note: in expansion of macro ‘ALIGNED_4’
748 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_alternative_transfer_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:765:24: note: while referencing ‘tmp_buf’
765 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:765:5: note: in expansion of macro ‘ALIGNED_4’
765 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
In file included from ../subprojects/x264/common/common.h:122,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c: In function ‘x264_8_sei_dec_ref_pic_marking_write’:
../subprojects/x264/common/bitstream.h:120:23: warning: array subscript 0 is outside array bounds of ‘uint8_t[100]’ {aka ‘unsigned char[100]’} [-Warray-bounds]
120 | s->cur_bits = endian_fix32( M32(s->p) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/x264/common/base.h:43,
from ../subprojects/x264/common/common.h:30,
from ../subprojects/x264/encoder/set.c:27:
../subprojects/x264/encoder/set.c:793:24: note: while referencing ‘tmp_buf’
793 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~
../subprojects/x264/common/osdep.h:285:35: note: in definition of macro ‘DECLARE_ALIGNED’
285 | #define DECLARE_ALIGNED( var, n ) var __attribute__((aligned(n)))
| ^~~
../subprojects/x264/encoder/set.c:793:5: note: in expansion of macro ‘ALIGNED_4’
793 | ALIGNED_4( uint8_t tmp_buf[100] );
| ^~~~~~~~~
[3250/5643] Compiling C object subprojects/x264/libx264-8.a.p/encoder_analyse.c.o
Edited by Seungmin Kim