Skip to content

x86_64 branch does not build #120

@Beyley

Description

@Beyley

I attempted to build/use the x86_64 branch, but I cannot get it to compile on my Arch Linux machine. I tried to fix the errors myself, but there's a lot of them, and I'm unsure how solve most of them correctly.

Is there a specific compiler/version I'm meant to be using? I'm following the x86_64 build instructions directly to get these errors.

winapi/Exception.c: In function ‘RtlRestoreContext’:
winapi/Exception.c:676:35: error: assignment to ‘void * (__attribute__((ms_abi)) *)(struct _EXCEPTION_RECORD *)’ from ‘ULONG_PTR’ {aka ‘long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  676 |                 CxxCallCatchBlock = pExceptionRecord->ExceptionInformation[0];
      |                                   ^
winapi/Exception.c: In function ‘RtlUnwindEx’:
winapi/Exception.c:891:22: error: initialization of ‘uintptr_t *’ {aka ‘long unsigned int *’} from ‘uintptr_t’ {aka ‘long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
  891 |     uintptr_t *rbp = ((uintptr_t *) (__builtin_frame_address(0)))[0];
      |                      ^
winapi/Exception.c:892:22: error: initialization of ‘uintptr_t *’ {aka ‘long unsigned int *’} from ‘long unsigned int’ makes pointer from integer without a cast [-Wint-conversion]
  892 |     uintptr_t *rsp = ((uintptr_t) (__builtin_frame_address(0))) + 0x8 + 0x8; // Find rsp + 0x8 + 0x8 (rsi + rdi maybe?)
      |                      ^
winapi/Exception.c: In function ‘RaiseException’:
winapi/Exception.c:1069:22: error: initialization of ‘uintptr_t *’ {aka ‘long unsigned int *’} from ‘uintptr_t’ {aka ‘long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
 1069 |     uintptr_t *rbp = ((uintptr_t *) (__builtin_frame_address(0)))[0];
      |                      ^
winapi/Exception.c:1070:22: error: initialization of ‘uintptr_t *’ {aka ‘long unsigned int *’} from ‘long unsigned int’ makes pointer from integer without a cast [-Wint-conversion]
 1070 |     uintptr_t *rsp = ((uintptr_t) (__builtin_frame_address(0))) + 0x8 + 0x8; // Find rsp + 0x8 + 0x8 (rsi + rdi maybe?)
      |                      ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions