hey in this thread viewtopic.php?f=3&t=3162&start=30 take the attached makefile.am and replace it in src directory. at first i just copy and rename codegen_backend.c to codegen_block.c or viceversa, anyway it go through but with erros of course. then it start complaining about automake mismatch and that automake 1.15 (debian 9) is used but files were generated by automake 1.16 (debian 10) , anyway after installing newer automake it says that is is probably to old? anyway is says to run aclocal to fix the problem, and yeah it did , it compiles without errors but it is still not working, it starts boot screen sometimes only and shows messed cpu alike /56mhz or 486sx instead of pentium etc. and it never boots, maybe it is still problem on my side with my compiler, anyway, has anyone run it on linux?
Last edited by szadycbr on Thu 25 Apr, 2019 11:01 am, edited 1 time in total.
Hi Sarah, thank you very much for this! this is great! now it compiles fine , without any error but something must be broken as i can not run any board, i did compile it on debian 9 , and any pentium, 386, 486 boards with various cpus does not work, i get boot screen sometimes , like this :
Screenshot from 2019-04-25 11-48-44.png (20.52 KiB) Viewed 9772 times
and then cursor blinking insanely fast . does anyone have an idea why it could be?
But still, i am so happy! this is great!! thanks so much
codegen_backend_x86-64.c: In function ‘codegen_backend_init’:
codegen_backend_x86-64.c:315:23: warning: passing argument 2 of ‘host_x86_CALL’ makes pointer from integer without a cast [-Wint-conversion]
host_x86_CALL(block, (uintptr_t)x86gpf);
^
In file included from codegen_backend_x86-64.c:8:0:
codegen_backend_x86-64_ops.h:18:6: note: expected ‘void *’ but argument is of type ‘long unsigned int’
void host_x86_CALL(codeblock_t *block, void *p);
^~~~~~~~~~~~~
ii clang 1:3.8-36 amd64 C, C++ and Objective-C compiler (LLVM based)
ii clang-3.8 1:3.8.1-24 amd64 C, C++ and Objective-C compiler (LLVM based)
ii g++ 4:6.3.0-4 amd64 GNU C++ compiler
ii g++-6 6.3.0-18+deb9u1 amd64 GNU C++ compiler
ii gcc 4:6.3.0-4 amd64 GNU C compiler
ii gcc-6 6.3.0-18+deb9u1 amd64 GNU C compiler
ii libllvm3.8:amd64 1:3.8.1-24 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.9:amd64 1:3.9.1-9 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.9:i386 1:3.9.1-9 i386 Modular compiler and toolchain technologies, runtime library
ii libxkbcommon-dev 0.7.1-2~deb9u1 amd64 library interface to the XKB compiler - development files
ii libxkbcommon0:amd64 0.7.1-2~deb9u1 amd64 library interface to the XKB compiler - shared library
ii libxkbcommon0:i386 0.7.1-2~deb9u1 i386 library interface to the XKB compiler - shared library
ii linux-compiler-gcc-6-x86 4.9.144-3.1 amd64 Compiler for Linux on x86 (meta-package)
ii llvm-3.8 1:3.8.1-24 amd64 Modular compiler and toolchain technologies
ii llvm-3.8-dev 1:3.8.1-24 amd64 Modular compiler and toolchain technologies, libraries and headers
ii llvm-3.8-runtime 1:3.8.1-24
Dont know what else could i provide, make version is 4.1-9.1 , autotools installed. strange, will try to figure it out, let You know if i do find some clue, Thanks very much, You did it! PCem should be voted undoubtedly best PC emulator up to date
codegen_allocator.c: In function ‘codegen_allocator_allocate’:
codegen_allocator.c:56:28: warning: implicit declaration of function ‘rand’ [-Wimplicit-function-declaration]
block_nr = rand() & MEM_BLOCK_MASK;
^~~
codegen_reg.c: In function ‘codegen_reg_load’:
codegen_reg.c:277:83: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_read_16_stack(block, reg_set->reg_list[c], (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
^
codegen_reg.c:286:83: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_read_32_stack(block, reg_set->reg_list[c], (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
^
codegen_reg.c:295:83: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_read_64_stack(block, reg_set->reg_list[c], (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
^
codegen_reg.c:304:88: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_read_pointer_stack(block, reg_set->reg_list[c], (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
^
codegen_reg.c:313:87: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_read_double_stack(block, reg_set->reg_list[c], (int)ireg_data[IREG_GET_REG(ir_reg.reg)].p);
^
codegen_reg.c: In function ‘codegen_reg_writeback’:
codegen_reg.c:385:62: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_write_32_stack(block, (int)p, reg_set->reg_list[c]);
^
codegen_reg.c:394:62: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_write_64_stack(block, (int)p, reg_set->reg_list[c]);
^
codegen_reg.c:411:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
codegen_direct_write_double_stack(block, (int)p, reg_set->reg_list[c]);