[x86/Linux] Add missing files in x86/Linux PAL#8318
Conversation
|
CC @seanshpark |
| .macro NESTED_ENTRY Name, Section, Handler | ||
| LEAF_ENTRY \Name, \Section | ||
| .ifnc \Handler, NoHandler | ||
| .cfi_personality 0, C_FUNC(\Handler) // 0 == DW_EH_PE_absptr |
There was a problem hiding this comment.
I have just fixed the personality routine address encoding for amd64 and arm64. This was causing a TEXTREL. Please use the new way:
.cfi_personality 0x1b, C_FUNC(\Handler) // 0x1b == DW_EH_PE_pcrel | DW_EH_PE_sdata4
| add_compile_options("-m32") | ||
| add_compile_options("--sysroot=${CROSS_ROOTFS}") | ||
| add_compile_options("-Wno-error=unused-command-line-argument") | ||
| add_compile_options("-Wno-missing-prototype-for-cc") |
There was a problem hiding this comment.
Where was the warning reported? I would prefer fixing it instead of hiding it unless it happens on too many places.
There was a problem hiding this comment.
Here is the error reported when this option is not provided:
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:334:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_IsDebuggerPresent();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:510:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_InitializeDLL();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:584:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_NotifyRuntimeStarted();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:3254:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_GetStackBase();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:3259:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_GetStackLimit();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:3264:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_GetLogicalCpuCountFromOS();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:3269:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_GetLogicalProcessorCacheSizeFromOS();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:4904:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
GetTickCount64();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:5344:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
GetCurrentProcessorNumber();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:5356:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_HasGetCurrentProcessorNumber();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:5442:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
FlushProcessWriteBuffers();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:6305:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_HasEntered();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:6312:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_EnterTop();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:6347:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_LeaveBottom();
^
/home/parjong/projects/dotnet/coreclr/src/pal/inc/pal.h:6354:1: error: function with no prototype cannot use the stdcall calling convention [-Werror,-Wmissing-prototype-for-cc]
PAL_LeaveTop();
^
There was a problem hiding this comment.
I have googled for the error. It looks like the compiler requires the function prototypes with no parameters to use "void" in the parents. Could you please try to add that to see if it silences the warnings?
|
LGTM, thank you! |
* (Partially) Enable x86/Linux PAL * Fix personality routine address encoding * Fix build warnings Commit migrated from dotnet/coreclr@fc46f78
This commit attempts to (partially) enable x86/Linux PAL Layer.
Currently, only
exception_handling.pal_sxs.test1.paltest_pal_sxs_test1fails with this commit.