Bug#976494: blastem: FTBFS on arm64: z80_to_x86.c:634:21: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char =?UTF-8?Q?*=E2=80=99}?=)
Lucas Nussbaum
lucas at debian.org
Sat Dec 5 12:16:21 GMT 2020
Source: blastem
Version: 0.6.3.3-3
Severity: serious
Justification: FTBFS on arm64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201205 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on arm64.
Relevant part (hopefully):
> cc -O2 -flto -g -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/SDL2 -std=gnu99 -Wreturn-type -Werror=return-type -Werror=implicit-function-declaration -Wno-unused-value -DHAS_PROC -DHAVE_UNISTD_H -Wno-unused-result -DCONFIG_PATH='"'/etc/blastem'"' -DDATA_PATH='"'/usr/share/games/blastem'"' -c -o z80_to_x86.o z80_to_x86.c
> z80_to_x86.c: In function ‘translate_z80inst’:
> z80_to_x86.c:332:20: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 332 | uint8_t * start = opts->gen.code.cur;
> | ^~~~
> z80_to_x86.c:337:40: warning: passing argument 3 of ‘zbreakpoint_patch’ from incompatible pointer type [-Wincompatible-pointer-types]
> 337 | zbreakpoint_patch(context, address, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> z80_to_x86.c:29:78: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 29 | uint32_t zbreakpoint_patch(z80_context * context, uint16_t address, code_ptr dst);
> | ~~~~~~~~~^~~
> z80_to_x86.c:629:20: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 629 | uint8_t * cont = code->cur+1;
> | ^~~~
> z80_to_x86.c:633:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 633 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:634:21: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 634 | *cont = code->cur - (cont + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:705:20: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 705 | uint8_t * cont = code->cur+1;
> | ^~~~
> z80_to_x86.c:709:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 709 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:710:21: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 710 | *cont = code->cur - (cont + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:782:20: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 782 | uint8_t * cont = code->cur+1;
> | ^~~~
> z80_to_x86.c:785:21: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 785 | uint8_t * cont2 = code->cur+1;
> | ^~~~
> z80_to_x86.c:789:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 789 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:790:21: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 790 | *cont = code->cur - (cont + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:791:22: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 791 | *cont2 = code->cur - (cont2 + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:861:20: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 861 | uint8_t * cont = code->cur+1;
> | ^~~~
> z80_to_x86.c:864:21: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 864 | uint8_t * cont2 = code->cur+1;
> | ^~~~
> z80_to_x86.c:868:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 868 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:869:21: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 869 | *cont = code->cur - (cont + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:870:22: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 870 | *cont2 = code->cur - (cont2 + 1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2067:83: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2067 | opts->gen.deferred = defer_address(opts->gen.deferred, inst->immed, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2109:26: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2109 | uint8_t *no_jump_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:2114:80: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2114 | opts->gen.deferred = defer_address(opts->gen.deferred, dest_addr, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2119:28: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 2119 | *no_jump_off = code->cur - (no_jump_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2127:80: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2127 | opts->gen.deferred = defer_address(opts->gen.deferred, dest_addr, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2150:26: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2150 | uint8_t *no_jump_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:2156:80: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2156 | opts->gen.deferred = defer_address(opts->gen.deferred, dest_addr, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2161:28: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 2161 | *no_jump_off = code->cur - (no_jump_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2171:26: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2171 | uint8_t *no_jump_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:2177:80: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2177 | opts->gen.deferred = defer_address(opts->gen.deferred, dest_addr, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2182:28: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 2182 | *no_jump_off = code->cur - (no_jump_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2193:82: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2193 | opts->gen.deferred = defer_address(opts->gen.deferred, inst->immed, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2226:26: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2226 | uint8_t *no_call_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:2235:82: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2235 | opts->gen.deferred = defer_address(opts->gen.deferred, inst->immed, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2240:28: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 2240 | *no_call_off = code->cur - (no_call_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2277:26: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2277 | uint8_t *no_call_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:2284:28: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 2284 | *no_call_off = code->cur - (no_call_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2315:82: warning: passing argument 3 of ‘defer_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2315 | opts->gen.deferred = defer_address(opts->gen.deferred, inst->immed, code->cur + 1);
> | ~~~~~~~~~~^~~
> | |
> | code_ptr {aka unsigned int *}
> In file included from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> backend.h:83:84: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 83 | deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2472:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2472 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2597:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2597 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2717:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2717 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:2816:13: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 2816 | jmp(code, start);
> | ^~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c: In function ‘z80_interp_handler’:
> z80_to_x86.c:2849:32: warning: assignment to ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 2849 | context->interp_code[opcode] = code->cur;
> | ^
> z80_to_x86.c: At top level:
> z80_to_x86.c:2886:11: error: conflicting types for ‘z80_get_native_address’
> 2886 | uint8_t * z80_get_native_address(z80_context * context, uint32_t address)
> | ^~~~~~~~~~~~~~~~~~~~~~
> In file included from z80_to_x86.c:7:
> z80_to_x86.h:98:10: note: previous declaration of ‘z80_get_native_address’ was here
> 98 | code_ptr z80_get_native_address(z80_context * context, uint32_t address);
> | ^~~~~~~~~~~~~~~~~~~~~~
> z80_to_x86.c: In function ‘z80_handle_code_write’:
> z80_to_x86.c:3007:18: warning: initialization of ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3007 | code_ptr dst = z80_get_native_address(context, inst_start);
> | ^~~~~~~~~~~~~~~~~~~~~~
> z80_to_x86.c: In function ‘z80_invalidate_code_range’:
> z80_to_x86.c:3042:15: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3042 | code.cur = native_code_map[chunk].base + native_code_map[chunk].offsets[offset];
> | ^
> z80_to_x86.c: At top level:
> z80_to_x86.c:3053:11: error: conflicting types for ‘z80_get_native_address_trans’
> 3053 | uint8_t * z80_get_native_address_trans(z80_context * context, uint32_t address)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from z80_to_x86.c:7:
> z80_to_x86.h:99:10: note: previous declaration of ‘z80_get_native_address_trans’ was here
> 99 | code_ptr z80_get_native_address_trans(z80_context * context, uint32_t address);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> z80_to_x86.c: In function ‘z80_retranslate_inst’:
> z80_to_x86.c:3116:44: warning: passing argument 3 of ‘z80_map_native_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3116 | z80_map_native_address(context, address, start, after-inst, ZMAX_NATIVE_SIZE);
> | ^~~~~
> | |
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2918:80: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 2918 | void z80_map_native_address(z80_context * context, uint32_t address, uint8_t * native_address, uint8_t size, uint8_t native_size)
> | ~~~~~~~~~~^~~~~~~~~~~~~~
> z80_to_x86.c:3117:25: warning: initialization of ‘code_word *’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3117 | code_info tmp_code = {orig_start, orig_start + 16};
> | ^~~~~~~~~~
> z80_to_x86.c:3117:25: note: (near initialization for ‘tmp_code.cur’)
> z80_to_x86.c:3117:37: warning: initialization of ‘code_word *’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3117 | code_info tmp_code = {orig_start, orig_start + 16};
> | ^~~~~~~~~~
> z80_to_x86.c:3117:37: note: (near initialization for ‘tmp_code.last’)
> z80_to_x86.c:3122:19: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3122 | jmp(&tmp_code, z80_get_native_address_trans(context, address + after-inst));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:3128:13: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3128 | code->cur = orig_start;
> | ^
> z80_to_x86.c:3129:14: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3129 | code->last = orig_start + ZMAX_NATIVE_SIZE;
> | ^
> z80_to_x86.c:3135:15: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3135 | jmp(&tmp2, z80_get_native_address_trans(context, address + after-inst));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c: In function ‘translate_z80_stream’:
> z80_to_x86.c:3158:26: warning: passing argument 2 of ‘jmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3158 | jmp(&opts->gen.code, existing);
> | ^~~~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:25:36: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 25 | void jmp(code_info *code, code_ptr dest);
> | ~~~~~~~~~^~~~
> z80_to_x86.c:3165:50: warning: passing argument 3 of ‘z80_map_native_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3165 | z80_map_native_address(context, address, stub.cur, 1, stub.last - stub.cur);
> | ~~~~^~~~
> | |
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2918:80: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 2918 | void z80_map_native_address(z80_context * context, uint32_t address, uint8_t * native_address, uint8_t size, uint8_t native_size)
> | ~~~~~~~~~~^~~~~~~~~~~~~~
> z80_to_x86.c:3181:45: warning: passing argument 3 of ‘z80_map_native_address’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3181 | z80_map_native_address(context, address, start, next-encoded, opts->gen.code.cur - start);
> | ^~~~~
> | |
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:2918:80: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘code_ptr’ {aka ‘unsigned int *’}
> 2918 | void z80_map_native_address(z80_context * context, uint32_t address, uint8_t * native_address, uint8_t size, uint8_t native_size)
> | ~~~~~~~~~~^~~~~~~~~~~~~~
> z80_to_x86.c: In function ‘zbreakpoint_patch’:
> z80_to_x86.c:3798:21: warning: passing argument 2 of ‘call’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3798 | call(&code, context->bp_stub);
> | ~~~~~~~^~~~~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:24:37: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 24 | void call(code_info *code, code_ptr fun);
> | ~~~~~~~~~^~~
> z80_to_x86.c: In function ‘zcreate_stub’:
> z80_to_x86.c:3809:19: warning: assignment to ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 3809 | context->bp_stub = code->cur;
> | ^
> z80_to_x86.c:3813:32: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 3813 | int check_int_size = code->cur-context->bp_stub;
> | ~~~~~~~~~^~~~~~~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c:3814:12: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3814 | code->cur = context->bp_stub;
> | ^
> z80_to_x86.c:3825:29: warning: passing argument 2 of ‘call_args’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3825 | call_args_abi(code, context->bp_handler, 2, opts->gen.context_reg, opts->gen.scratch1);
> | ~~~~~~~^~~~~~~~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> In file included from backend.h:11,
> from z80_to_x86.h:9,
> from z80_to_x86.c:7:
> gen.h:30:42: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 30 | void call_args(code_info *code, code_ptr fun, uint32_t num_args, ...);
> | ~~~~~~~~~^~~
> z80_to_x86.c:3832:22: warning: initialization of ‘uint8_t *’ {aka ‘unsigned char *’} from incompatible pointer type ‘code_ptr’ {aka ‘unsigned int *’} [-Wincompatible-pointer-types]
> 3832 | uint8_t * jmp_off = code->cur+1;
> | ^~~~
> z80_to_x86.c:3841:23: error: invalid operands to binary - (have ‘code_ptr’ {aka ‘unsigned int *’} and ‘uint8_t *’ {aka ‘unsigned char *’})
> 3841 | *jmp_off = code->cur - (jmp_off+1);
> | ~~~~~~~~~ ^ ~~~~~~~~~~~
> | | |
> | | uint8_t * {aka unsigned char *}
> | code_ptr {aka unsigned int *}
> z80_to_x86.c: In function ‘zinsert_breakpoint’:
> z80_to_x86.c:3860:40: warning: passing argument 3 of ‘zbreakpoint_patch’ from incompatible pointer type [-Wincompatible-pointer-types]
> 3860 | zbreakpoint_patch(context, address, native);
> | ^~~~~~
> | |
> | uint8_t * {aka unsigned char *}
> z80_to_x86.c:3786:78: note: expected ‘code_ptr’ {aka ‘unsigned int *’} but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
> 3786 | uint32_t zbreakpoint_patch(z80_context * context, uint16_t address, code_ptr dst)
> | ~~~~~~~~~^~~
> z80_to_x86.c: In function ‘zremove_breakpoint’:
> z80_to_x86.c:3872:22: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3872 | opts->gen.code.cur = native;
> | ^
> z80_to_x86.c:3873:23: warning: assignment to ‘code_ptr’ {aka ‘unsigned int *’} from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 3873 | opts->gen.code.last = native + 128;
> | ^
> make[2]: *** [Makefile:356: z80_to_x86.o] Error 1
The full build log is available from:
http://qa-logs.debian.net/2020/12/05/blastem_0.6.3.3-3_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with me
so that we can identify if something relevant changed in the meantime.
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
More information about the Pkg-games-devel
mailing list