From 3b6394ee7303853f2249dae6296ed556854ea0e4 Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Mon, 5 Mar 2018 15:44:44 +0000 Subject: [PATCH] remove Codengen/Clang support * Since Microsoft are dropping it... --- .vs/clang/gnu-efi.vcxproj | 342 -------------------------- .vs/clang/gnu-efi.vcxproj.filters | 119 --------- .vs/clang/gnu-efi.vcxproj.user | 4 - .vs/clang/uefi-simple.vcxproj | 330 ------------------------- .vs/clang/uefi-simple.vcxproj.filters | 25 -- .vs/clang/uefi-simple.vcxproj.user | 39 --- README.md | 2 +- missing/crt.c | 235 ------------------ missing/stdarg.h | 16 -- uefi-simple (Clang).sln | 51 ---- 10 files changed, 1 insertion(+), 1162 deletions(-) delete mode 100644 .vs/clang/gnu-efi.vcxproj delete mode 100644 .vs/clang/gnu-efi.vcxproj.filters delete mode 100644 .vs/clang/gnu-efi.vcxproj.user delete mode 100644 .vs/clang/uefi-simple.vcxproj delete mode 100644 .vs/clang/uefi-simple.vcxproj.filters delete mode 100644 .vs/clang/uefi-simple.vcxproj.user delete mode 100644 missing/crt.c delete mode 100644 missing/stdarg.h delete mode 100644 uefi-simple (Clang).sln diff --git a/.vs/clang/gnu-efi.vcxproj b/.vs/clang/gnu-efi.vcxproj deleted file mode 100644 index ea20de8..0000000 --- a/.vs/clang/gnu-efi.vcxproj +++ /dev/null @@ -1,342 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - {3135D563-9596-4584-9ED6-616ADEC52974} - gnuefi - - - - x64 - - - StaticLibrary - true - v141_clang_c2 - Unicode - - - StaticLibrary - true - v141_clang_c2 - Unicode - - - StaticLibrary - true - v141_clang_c2 - Unicode - true - - - StaticLibrary - false - v141_clang_c2 - true - Unicode - - - StaticLibrary - false - v141_clang_c2 - true - Unicode - - - StaticLibrary - false - v141_clang_c2 - true - Unicode - true - - - - - - - - - - - - - - - - - - - - - - - - - $(SolutionDir)x64\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - $(SolutionDir)ia32\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - $(SolutionDir)arm\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - $(SolutionDir)x64\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - $(SolutionDir)ia32\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - $(SolutionDir)arm\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\x86_64;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreadedDebug - 4312 - Default - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - - - EFI Application - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\ia32;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreadedDebug - 4312 - Default - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - - - EFI Application - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\arm;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreadedDebug - 4312 - Default - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - - - EFI Application - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\x86_64;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreaded - 4312 - false - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - true - true - - - EFI Application - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\ia32;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreaded - 4312 - false - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - true - true - - - EFI Application - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\arm;$(SolutionDir)\gnu-efi\inc\protocol;$(SolutionDir)\gnu-efi\lib - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - MultiThreaded - 4312 - false - false - false - -ffreestanding -Wno-macro-redefined -fno-builtin - Disabled - - - true - true - true - - - EFI Application - true - - - - - false - false - true - true - true - true - - - true - true - true - true - false - false - - - - - - - - - - - - - - - true - true - true - true - false - false - - - true - true - true - true - false - false - - - - - - - - - - - - - - - true - true - true - true - false - false - - - false - false - true - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/.vs/clang/gnu-efi.vcxproj.filters b/.vs/clang/gnu-efi.vcxproj.filters deleted file mode 100644 index a4c374a..0000000 --- a/.vs/clang/gnu-efi.vcxproj.filters +++ /dev/null @@ -1,119 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {20c8e9bd-0fa8-46d3-b825-e3eebd64ab3d} - - - {87122940-e80f-416d-a840-5e32f703f3ff} - - - {e6e3d25a-4fce-4036-bef9-3cfbafc4baaf} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\arm - - - Source Files\x86_64 - - - Source Files\ia32 - - - Source Files\x86_64 - - - Source Files\ia32 - - - Source Files\arm - - - - - Header Files - - - \ No newline at end of file diff --git a/.vs/clang/gnu-efi.vcxproj.user b/.vs/clang/gnu-efi.vcxproj.user deleted file mode 100644 index ef5ff2a..0000000 --- a/.vs/clang/gnu-efi.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.vs/clang/uefi-simple.vcxproj b/.vs/clang/uefi-simple.vcxproj deleted file mode 100644 index a6ae763..0000000 --- a/.vs/clang/uefi-simple.vcxproj +++ /dev/null @@ -1,330 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE} - uefi-simple - - - - x64 - - - Application - true - v141_clang_c2 - Unicode - - - Application - true - v141_clang_c2 - Unicode - - - Application - true - v141_clang_c2 - Unicode - true - - - Application - false - v141_clang_c2 - Unicode - - - Application - false - v141_clang_c2 - Unicode - - - Application - false - v141_clang_c2 - Unicode - true - - - - - - - - - - - - - - - - - - - - - - - - .efi - false - false - $(SolutionDir)x64\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - .efi - false - false - $(SolutionDir)ia32\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - .efi - false - false - $(SolutionDir)arm\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - .efi - false - false - $(SolutionDir)x64\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - .efi - false - false - $(SolutionDir)ia32\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - .efi - false - false - $(SolutionDir)arm\$(Configuration)\ - $(OutDir)$(ProjectName)\ - true - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\x86_64 - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - Default - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - gnu-efi.lib;libcmtd.lib;%(AdditionalDependencies) - false - false - true - efi_main - EFI Application - $(OutDir);%(AdditionalLibraryDirectories) - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\ia32 - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - Default - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - gnu-efi.lib;libcmtd.lib;%(AdditionalDependencies) - false - false - true - efi_main - EFI Application - $(OutDir);%(AdditionalLibraryDirectories) - true - MachineX86 - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\arm - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - Default - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - gnu-efi.lib;%(AdditionalDependencies) - false - true - efi_main - EFI Application - $(OutDir);%(AdditionalLibraryDirectories) - true - - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\x86_64 - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - false - - - false - true - efi_main - EFI Application - gnu-efi.lib;libcmt.lib;%(AdditionalDependencies) - $(OutDir);%(AdditionalLibraryDirectories) - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\ia32 - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - false - - - false - true - efi_main - EFI Application - gnu-efi.lib;libcmt.lib;%(AdditionalDependencies) - $(OutDir);%(AdditionalLibraryDirectories) - true - - - - - $(VCClangInstallDir)\include;$(SolutionDir)\missing;$(SolutionDir)\gnu-efi\inc;$(SolutionDir)\gnu-efi\inc\arm - _UNICODE;UNICODE;HAVE_USE_MS_ABI;GNU_EFI_USE_EXTERNAL_STDARG;%(PreprocessorDefinitions) - CompileAsC - 4091 - false - Disabled - -ffreestanding -Wno-macro-redefined -fno-builtin - false - - - EFI Application - - - true - - - - false - true - efi_main - EFI Application - gnu-efi.lib;%(AdditionalDependencies) - $(OutDir);%(AdditionalLibraryDirectories) - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/.vs/clang/uefi-simple.vcxproj.filters b/.vs/clang/uefi-simple.vcxproj.filters deleted file mode 100644 index f2b31aa..0000000 --- a/.vs/clang/uefi-simple.vcxproj.filters +++ /dev/null @@ -1,25 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {b1c3b304-e868-4b07-988c-36ad7bc57300} - - - - - Source Files - - - Source Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/.vs/clang/uefi-simple.vcxproj.user b/.vs/clang/uefi-simple.vcxproj.user deleted file mode 100644 index fe662d1..0000000 --- a/.vs/clang/uefi-simple.vcxproj.user +++ /dev/null @@ -1,39 +0,0 @@ - - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - - $(SystemRoot)\System32\wscript - //d debug.vbs "$(TargetPath)" "$(PlatformShortName)" - WindowsLocalDebugger - $(SolutionDir) - - \ No newline at end of file diff --git a/README.md b/README.md index 7426743..88ac3e3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ UEFI:SIMPLE - EFI development made easy ======================================= A simple UEFI "Hello World!" style application that can: -* be compiled on Windows or Linux, using Visual Studio 2017 (including CodeGen/Clang support), MinGW or gcc. +* be compiled on Windows or Linux, using Visual Studio 2017, MinGW or gcc. * be compiled for x86_32, x86_64, ARM or ARM64/AARCH64 targets * be tested on the fly, through a [QEMU](http://www.qemu.org)+[OVMF](http://tianocore.github.io/ovmf/) UEFI virtual machine. diff --git a/missing/crt.c b/missing/crt.c deleted file mode 100644 index bd25cd0..0000000 --- a/missing/crt.c +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Our own CRT replacement for Clang - * - * This is used to demonstrates how it is possible to create UEFI - * applications WITHOUT actually linking to any external libraries. - */ - -/* This CRT replacement is only needed for ARM compilation using Visual Studio's Clang/C2 */ -#if defined(_M_ARM) && defined(__clang__) -#include - -int _fltused = 0x9875; - -typedef struct { - uint32_t quotient; - uint32_t modulus; -} udiv_result_t; - -typedef struct { - int32_t quotient; - int32_t modulus; -} sdiv_result_t; - -typedef struct { - uint64_t quotient; - uint64_t modulus; -} udiv64_result_t; - -typedef struct { - uint64_t quotient; - uint64_t modulus; -} sdiv64_result_t; - -static const uint8_t debruijn32[32] = { - 0, 31, 9, 30, 3, 8, 13, 29, 2, 5, 7, 21, 12, 24, 28, 19, - 1, 10, 4, 14, 6, 22, 25, 20, 11, 15, 23, 26, 16, 27, 17, 18 -}; - -__inline uint32_t _CountLeadingZeros(uint32_t x) -{ - if (x == 0) return 32; - x |= x >> 1; - x |= x >> 2; - x |= x >> 4; - x |= x >> 8; - x |= x >> 16; - x++; - return debruijn32[x * 0x076be629 >> 27]; -} - -__inline uint32_t _CountLeadingZeros64(uint64_t x) -{ - if ((x >> 32) == 0) { - return 32 + _CountLeadingZeros((uint32_t)x); - } else { - return _CountLeadingZeros((uint32_t)(x >> 32)); - } -} - -/* No inline or standalone assembly for halt on div by 0 -> do it ourselves */ -typedef void(*__brkdiv0_t)(void); -static const uint32_t ___brkdiv0 = 0xe7f00ff9; // udf #249 -static __brkdiv0_t __brkdiv0 = (__brkdiv0_t)&___brkdiv0; - -/* Modified from ReactOS' sdk/lib/crt/math/arm/... */ -__inline void __rt_udiv_internal(udiv_result_t *result, uint32_t divisor, uint32_t dividend) -{ - uint32_t shift; - uint32_t mask; - uint32_t quotient; - - if (divisor == 0) { - /* Raise divide by zero error */ - __brkdiv0(); - } - - if (divisor > dividend) { - result->quotient = 0; - result->modulus = dividend; - return; - } - - /* Get the difference in count of leading zeros between dividend and divisor */ - shift = _CountLeadingZeros(divisor); - shift -= _CountLeadingZeros(dividend); - - /* Shift the divisor to the left, so that it's highest bit is the same as the - highest bit of the dividend */ - divisor <<= shift; - - mask = 1 << shift; - - quotient = 0; - do { - if (dividend >= divisor) { - quotient |= mask; - dividend -= divisor; - } - divisor >>= 1; - mask >>= 1; - } while (mask); - - result->quotient = quotient; - result->modulus = dividend; - return; -} - -uint64_t __rt_sdiv(int32_t divisor, int32_t dividend) -{ - sdiv_result_t result; - int32_t divisor_sign, dividend_sign; - - dividend_sign = divisor & 0x80000000; - if (dividend_sign) { - dividend = -dividend; - } - - divisor_sign = divisor & 0x80000000; - if (divisor_sign) { - divisor = -divisor; - } - - __rt_udiv_internal((udiv_result_t*)&result, divisor, dividend); - - if (dividend_sign ^ divisor_sign) { - result.quotient = -result.quotient; - } - - if (dividend_sign) { - result.modulus = -result.modulus; - } - - return (((uint64_t)result.modulus) << 32) | ((uint32_t)result.quotient); -} - -uint64_t __rt_udiv(uint32_t divisor, uint32_t dividend) -{ - udiv_result_t result; - - __rt_udiv_internal(&result, divisor, dividend); - - return (((uint64_t)result.modulus) << 32) | ((uint32_t)result.quotient); -} - -static __inline void __rt_udiv64_internal(udiv64_result_t *result, - uint64_t divisor, uint64_t dividend) -{ - uint32_t shift; - uint64_t mask; - uint64_t quotient; - - if (divisor == 0) { - /* Raise divide by zero error */ - __brkdiv0(); - } - - if (divisor > dividend) { - result->quotient = 0; - result->modulus = dividend; - return; - } - - /* Get the difference in count of leading zeros between dividend and divisor */ - shift = _CountLeadingZeros64(divisor); - shift -= _CountLeadingZeros64(dividend); - - /* Shift the divisor to the left, so that it's highest bit is the same as the - highest bit of the dividend */ - divisor <<= shift; - - mask = 1LL << shift; - - quotient = 0; - do { - if (dividend >= divisor) { - quotient |= mask; - dividend -= divisor; - } - divisor >>= 1; - mask >>= 1; - } while (mask); - - result->quotient = quotient; - result->modulus = dividend; - return; -} - -/* - * Soooo, what do you do when you have an UNCOOPERATIVE compiler (Microsoft's - * crippled version of Clang), compiling into some weird intermediate language - * (C2 or LLVM or whatever), with NO FRIGGING ASSEMBLY, be it inline or - * standalone, and you want to provide your own version of __rt_udiv64(), that - * MUST return the result in ARM registers r0/r1/r2/r3? - * Why, you "just" define an (uint64_t, uint64_t) function call, that points - * to the binary code for 'mov pc, lr' (i.e. ARM's return from call instruction) - * since you can then use this call to set r0/r1 to the first call parameter and - * r2/r3 to the second. - */ -typedef void(*set_return_registers_t)(uint64_t, uint64_t); -static const uint32_t _set_return_registers = 0xe1a0f00e; // mov pc, lr -static set_return_registers_t set_return_registers = (set_return_registers_t)&_set_return_registers; - -void __rt_udiv64(uint64_t divisor, uint64_t dividend) -{ - udiv64_result_t result; - - __rt_udiv64_internal(&result, divisor, dividend); - - set_return_registers(result.quotient, result.modulus); -} - -/* Not sure if this one is also needed, but just in case... */ -void __rt_sdiv64(int64_t divisor, int64_t dividend) -{ - udiv64_result_t result; - int64_t divisor_sign, dividend_sign, quotient, modulus; - - dividend_sign = divisor & 0x8000000000000000LL; - if (dividend_sign) { - dividend = -dividend; - } - - divisor_sign = divisor & 0x8000000000000000LL; - if (divisor_sign) { - divisor = -divisor; - } - - __rt_udiv64_internal(&result, divisor, dividend); - - quotient = (dividend_sign ^ divisor_sign) ? -result.quotient : result.quotient; - modulus = (dividend_sign) ? -result.modulus : result.modulus; - set_return_registers((uint64_t)quotient, (uint64_t)modulus); -} - -#endif diff --git a/missing/stdarg.h b/missing/stdarg.h deleted file mode 100644 index 9e11df8..0000000 --- a/missing/stdarg.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Replacement starg.h for Visual Studio's Clang/C2 - Public domain - * See http://www.open-std.org/JTC1/sc22/wg14/www/docs/n1570.pdf section 7.16 - */ - -#ifndef STDARG_H -#define STDARG_H - -typedef char* va_list; - -#define va_arg(ap, type) __builtin_va_arg(ap, type) -#define va_copy(dest, src) (dest = src) -#define va_end(ap) __builtin_va_end(ap) -#define va_start(ap, num) __builtin_va_start(ap, num) - -#endif diff --git a/uefi-simple (Clang).sln b/uefi-simple (Clang).sln deleted file mode 100644 index 5edf878..0000000 --- a/uefi-simple (Clang).sln +++ /dev/null @@ -1,51 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uefi-simple", ".vs\clang\uefi-simple.vcxproj", "{DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}" - ProjectSection(ProjectDependencies) = postProject - {3135D563-9596-4584-9ED6-616ADEC52974} = {3135D563-9596-4584-9ED6-616ADEC52974} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gnu-efi", ".vs\clang\gnu-efi.vcxproj", "{3135D563-9596-4584-9ED6-616ADEC52974}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|arm = Debug|arm - Debug|ia32 = Debug|ia32 - Debug|x64 = Debug|x64 - Release|arm = Release|arm - Release|ia32 = Release|ia32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|arm.ActiveCfg = Debug|ARM - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|arm.Build.0 = Debug|ARM - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|ia32.ActiveCfg = Debug|Win32 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|ia32.Build.0 = Debug|Win32 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|x64.ActiveCfg = Debug|x64 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Debug|x64.Build.0 = Debug|x64 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|arm.ActiveCfg = Release|ARM - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|arm.Build.0 = Release|ARM - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|ia32.ActiveCfg = Release|Win32 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|ia32.Build.0 = Release|Win32 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|x64.ActiveCfg = Release|x64 - {DFA0BA98-D0BA-4176-9A34-B5BA6355B1DE}.Release|x64.Build.0 = Release|x64 - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|arm.ActiveCfg = Debug|ARM - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|arm.Build.0 = Debug|ARM - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|ia32.ActiveCfg = Debug|Win32 - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|ia32.Build.0 = Debug|Win32 - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|x64.ActiveCfg = Debug|x64 - {3135D563-9596-4584-9ED6-616ADEC52974}.Debug|x64.Build.0 = Debug|x64 - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|arm.ActiveCfg = Release|ARM - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|arm.Build.0 = Release|ARM - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|ia32.ActiveCfg = Release|Win32 - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|ia32.Build.0 = Release|Win32 - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|x64.ActiveCfg = Release|x64 - {3135D563-9596-4584-9ED6-616ADEC52974}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal