#10800: UEFI: assembly files need to take calling convention into account -------------------------------+------------------------------ Reporter: jessicah | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: System/libroot.so | Version: R1/Development Keywords: | Blocked By: Blocking: | Has a Patch: 0 Platform: All | -------------------------------+------------------------------ For UEFI, the calling conventions on x86_64 follow the Microsoft calling conventions, which are not compatible with Haiku's calling conventions. As a result, existing functions written in assembly fail to run as expected. E.g. [http://cgit.haiku- os.org/haiku/tree/src/system/libroot/os/arch/x86_64/byteorder.S byteorder.S] currently returns 0 for all of the byteswap routines, which are used elsewhere, such as the definitions for the B_BENDIAN_xyz macros, and the ntohs function. References: [http://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions Wikipedia], [http://wiki.osdev.org/UEFI OSDev Wiki] -- Ticket URL: <https://dev.haiku-os.org/ticket/10800> Haiku <https://dev.haiku-os.org> Haiku - the operating system.