Eine Anmerkung noch zu Calling Conventions: diese sind unter x86_64-win64 und x86_64-[alles andere] unterschiedlich. Letztere verwenden die Linux x86_64 ABI während nur Windows hier sein eigenes Süppchen kocht.
Genau genommen fällt UEFI aus dem "alles andere" auch heraus und nutzt die selbe Konvention wie Windows.