Issue in building the StdLibc using Clang38 for 64 bit build on Ubuntu 20.02


Jayaprakash, N
 

Hi All,

 

I am trying to build AppPkg under edk2-libc project using the clang compiler tool chain from Ubuntu 20.04 system.

While doing so I am encountering an error, which I am not able to resolve.

 

This error is coming from the Standard C Library module as shown below.

Any clues to solve this error would be of great help as I am planning to add build support for Python 3.6.8 on UEFI shell using the Clang compiler tool chain.

 

“””

Getting the following error while trying to compile the AppPkg from edk2 build environment using the CLANG38 tool option.

 

Building ... /home/jp/src/edk2/StdLib/EfiSocketLib/EfiSocketLib.inf [X64]

/home/jp/src/edk2/StdLib/LibC/Uefi/SysCalls.c:1427:3: error: 'va_start' used in Win64 ABI function

  va_start(ap, path);

  ^

/home/jp/src/edk2/StdLib/Include/stdarg.h:69:21: note: expanded from macro 'va_start'

#define va_start    __builtin_va_start

                    ^

1 error generated.

 

"clang" -MMD -MF /home/jp/src/edk2/Build/AppPkg/RELEASE_CLANG38/X64/StdLib/EfiSocketLib/EfiSocketLib/OUTPUT/Tcp4.obj.deps -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=EfiSocketLibStrings -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -mcmodel=small -fpie -Oz -flto -target x86_64-pc-linux-gnu -nostdinc -nostdlib -DUEFI_C_SOURCE -c -o /home/jp/src/edk2/Build/AppPkg/RELEASE_CLANG38/X64/StdLib/EfiSocketLib/EfiSocketLib/OUTPUT/./Tcp4.obj -I/home/jp/src/edk2/StdLib/EfiSocketLib -I/home/jp/src/edk2/Build/AppPkg/RELEASE_CLANG38/X64/StdLib/EfiSocketLib/EfiSocketLib/DEBUG -I/home/jp/src/edk2/MdePkg -I/home/jp/src/edk2/MdePkg/Include -I/home/jp/src/edk2/MdePkg/Test/UnitTest/Include -I/home/jp/src/edk2/MdePkg/Include/X64 -I/home/jp/src/edk2/MdeModulePkg -I/home/jp/src/edk2/MdeModulePkg/Include -I/home/jp/src/edk2/StdLib -I/home/jp/src/edk2/StdLib/Include -I/home/jp/src/edk2/StdLib/Include/X64 /home/jp/src/edk2/StdLib/EfiSocketLib/Tcp4.c

make: *** [GNUmakefile:309: /home/jp/src/edk2/Build/AppPkg/RELEASE_CLANG38/X64/StdLib/LibC/Uefi/Uefi/OUTPUT/SysCalls.obj] Error 1

 

 

build.py...

: error 7000: Failed to execute command

        make tbuild [/home/jp/src/edk2/Build/AppPkg/RELEASE_CLANG38/X64/StdLib/LibC/Uefi/Uefi]

 

“””

 

 

Regards,

JP

Join devel@edk2.groups.io to automatically receive all group messages.