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.