Ard: We verify X64 arch. The build can pass, but the functionality doesn't work. I suggest to add comments for CLANG35 X64 tool chain to describe current statement. Then, we can first commit CLANG35 toolchain, next further investigate how to resolve the functionality issue.
Thanks Liming -----Original Message----- From: edk2-devel [mailto:[email protected]] On Behalf Of Gao, Liming Sent: Friday, December 18, 2015 10:59 AM To: Ard Biesheuvel; [email protected] Subject: Re: [edk2] [PATCH 0/8] add IA32 and X64 support to CLANG35 toolchain Ard: Thanks for your contribution of CLANG X86 tool chain. We will verify X64 arch. Thanks Liming -----Original Message----- From: Ard Biesheuvel [mailto:[email protected]] Sent: Thursday, December 17, 2015 6:01 PM To: [email protected]; Gao, Liming Cc: Ard Biesheuvel Subject: [PATCH 0/8] add IA32 and X64 support to CLANG35 toolchain This adds support for building for the IA32 and X64 architectures to the CLANG35 toolchain. NOTE: this is build tested only, using OvmfPkg/OvmfIa32.dsc and OvmfPkg/OvmfX64.dsc. Especially X64 needs more testing, presumably, due to the va_list and ms_abi issues that exist for GCC/X64 as well. The first four patches fix issues in the code, some of which are only detected by clang-3.7, but I have included them for completeness. Patch #5 makes GenFw ignore R_X86_64_NONE relocations early, since they will trigger the SHN_UNDEF check that follows Patch #6 adds the -target option to all preprocessor invocations. Since clang support all targets in a single binary, this is necessary to make sure the builtin defines are set correctly. Patch #7 adds the -gnu/-gnueabi suffix to the AARCH64 and ARM target triplets. This is necessary since we are combining Clang with the GNU linker, and some versions of clang may be configured by default for another linker (e.g., Xcode) Patch #8 adds the toolchain definitions to tools_def.template On a system that has multiple versions of clang installed, you can override the version to use by setting export CLANG35_BIN=/usr/lib/llvm-3.X/bin/ for X in { 5 .. 8 } Ard Biesheuvel (8): MdePkg/BaseLib: do not rely on undefined behavior in arithmetic shift MdeModulePkg: use VA_COPY for assigning va_list types PcAtChipsetPkg: remove unitialized variable warnings PcAtChipsetPkg: make preprocessor constants explicitly unsigned BaseTools/GenFw: allow SHN_UNDEF symbol references in R_X86_64_NONE relocs BaseTools CLANG35: use -target in PP flags as well BaseTools CLANG35: use GNU target triplets explicitly BaseTools CLANG35: add support for IA32 and X64 BaseTools/Conf/tools_def.template | 76 +++++++++++++++++--- BaseTools/Scripts/GccBase.lds | 3 + BaseTools/Source/C/GenFw/Elf64Convert.c | 8 +++ MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 4 +- MdePkg/Library/BaseLib/Math64.c | 2 +- PcAtChipsetPkg/Library/SerialIoLib/SerialPortLib.c | 52 +++++++------- 6 files changed, 104 insertions(+), 41 deletions(-) -- 2.5.0 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

