vdexExtractor
vdexExtractor copied to clipboard
Build fails on GCC 13.2.1 with `dex_instruction.c:655:43: error: argument 2 of type ‘u4[kMaxVarArgRegs]’ {aka ‘unsigned int[kMaxVarArgRegs]’} declared as a variable length array [-Werror=vla-parameter]`
I am building with GCC version 13.2.1.
./make.sh
fails with
[...]
gcc -c -std=c11 -D_GNU_SOURCE -Wall -Wextra -Werror -DVERSION=\"dev-78f283b\" -c dex_instruction.c -o dex_instruction.o
dex_instruction.c:655:43: error: argument 2 of type ‘u4[kMaxVarArgRegs]’ {aka ‘unsigned int[kMaxVarArgRegs]’} declared as a variable length array [-Werror=vla-parameter]
655 | void dexInstr_getVarArgs(u2 *code_ptr, u4 arg[kMaxVarArgRegs]) {
| ~~~^~~~~~~~~~~~~~~~~~~
In file included from dex_instruction.c:23:
dex_instruction.h:278:32: note: previously declared as an ordinary array ‘u4[]’ {aka ‘unsigned int[]’}
278 | void dexInstr_getVarArgs(u2 *, u4[]);
| ^~~~
cc1: all warnings being treated as errors
make: *** [Makefile:56: dex_instruction.o] Error 1
A manual workaround is to issue make CFLAGS="${CFLAGS} -Wno-error=vla-parameter" -C src
instead of ./make.sh
.
Regards!