Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix build for musl 1.2.3 #67772

Merged
merged 1 commit into from
May 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/coreclr/pal/src/include/pal/palinternal.h
Original file line number Diff line number Diff line change
Expand Up @@ -695,30 +695,30 @@ T* InterlockedCompareExchangePointerT(
template <typename T>
inline T* InterlockedExchangePointerT(
T* volatile * target,
int value) // When NULL is provided as argument.
std::nullptr_t value) // When NULL is provided as argument.
{
//STATIC_ASSERT(value == 0);
return InterlockedExchangePointerT(target, reinterpret_cast<T*>(value));
return InterlockedExchangePointerT(target, (T*)(void*)value);
}

template <typename T>
inline T* InterlockedCompareExchangePointerT(
T* volatile * destination,
int exchange, // When NULL is provided as argument.
std::nullptr_t exchange, // When NULL is provided as argument.
T* comparand)
{
//STATIC_ASSERT(exchange == 0);
return InterlockedCompareExchangePointerT(destination, reinterpret_cast<T*>(exchange), comparand);
return InterlockedCompareExchangePointerT(destination, (T*)(void*)exchange, comparand);
}

template <typename T>
inline T* InterlockedCompareExchangePointerT(
T* volatile * destination,
T* exchange,
int comparand) // When NULL is provided as argument.
std::nullptr_t comparand) // When NULL is provided as argument.
{
//STATIC_ASSERT(comparand == 0);
return InterlockedCompareExchangePointerT(destination, exchange, reinterpret_cast<T*>(comparand));
return InterlockedCompareExchangePointerT(destination, exchange, (T*)(void*)comparand);
}

#undef InterlockedExchangePointer
Expand Down
76 changes: 38 additions & 38 deletions src/coreclr/pal/src/init/pal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ static bool RunningNatively()
{
int ret = 0;
size_t sz = sizeof(ret);
if (sysctlbyname("sysctl.proc_native", &ret, &sz, NULL, 0) != 0)
if (sysctlbyname("sysctl.proc_native", &ret, &sz, nullptr, 0) != 0)
{
// if the sysctl failed, we'll assume this OS does not support
// binary translation - so we must be running natively.
Expand Down Expand Up @@ -212,7 +212,7 @@ int
PALAPI
PAL_InitializeDLL()
{
return Initialize(0, NULL, g_initializeDLLFlags);
return Initialize(0, nullptr, g_initializeDLLFlags);
}

/*++
Expand Down Expand Up @@ -312,10 +312,10 @@ Initialize(
DWORD flags)
{
PAL_ERROR palError = ERROR_GEN_FAILURE;
CPalThread *pThread = NULL;
CSharedMemoryObjectManager *pshmom = NULL;
LPWSTR command_line = NULL;
LPWSTR exe_path = NULL;
CPalThread *pThread = nullptr;
CSharedMemoryObjectManager *pshmom = nullptr;
LPWSTR command_line = nullptr;
LPWSTR exe_path = nullptr;
int retval = -1;
bool fFirstTimeInit = false;

Expand All @@ -337,18 +337,18 @@ Initialize(

CriticalSectionSubSysInitialize();

if(NULL == init_critsec)
if(nullptr == init_critsec)
{
pthread_mutex_lock(&init_critsec_mutex); // prevents race condition of two threads
// initializing the critical section.
if(NULL == init_critsec)
if(nullptr == init_critsec)
{
static CRITICAL_SECTION temp_critsec;

// Want this critical section to NOT be internal to avoid the use of unsafe region markers.
InternalInitializeCriticalSectionAndSpinCount(&temp_critsec, 0, false);

if(NULL != InterlockedCompareExchangePointer(&init_critsec, &temp_critsec, NULL))
if(nullptr != InterlockedCompareExchangePointer(&init_critsec, &temp_critsec, nullptr))
{
// Another thread got in before us! shouldn't happen, if the PAL
// isn't initialized there shouldn't be any other threads
Expand All @@ -359,7 +359,7 @@ Initialize(
pthread_mutex_unlock(&init_critsec_mutex);
}

InternalEnterCriticalSection(pThread, init_critsec); // here pThread is always NULL
InternalEnterCriticalSection(pThread, init_critsec); // here pThread is always nullptr

if (init_count == 0)
{
Expand Down Expand Up @@ -505,7 +505,7 @@ Initialize(
//

pshmom = InternalNew<CSharedMemoryObjectManager>();
if (NULL == pshmom)
if (nullptr == pshmom)
{
ERROR("Unable to allocate new object manager\n");
palError = ERROR_OUTOFMEMORY;
Expand All @@ -528,7 +528,7 @@ Initialize(
g_pSynchronizationManager =
CPalSynchMgrController::CreatePalSynchronizationManager();

if (NULL == g_pSynchronizationManager)
if (nullptr == g_pSynchronizationManager)
{
palError = ERROR_NOT_ENOUGH_MEMORY;
ERROR("Failure creating synchronization manager\n");
Expand All @@ -542,11 +542,11 @@ Initialize(

palError = ERROR_GEN_FAILURE;

if (argc > 0 && argv != NULL)
if (argc > 0 && argv != nullptr)
{
/* build the command line */
command_line = INIT_FormatCommandLine(argc, argv);
if (NULL == command_line)
if (nullptr == command_line)
{
ERROR("Error building command line\n");
palError = ERROR_PALINIT_COMMAND_LINE;
Expand All @@ -555,7 +555,7 @@ Initialize(

/* find out the application's full path */
exe_path = INIT_GetCurrentEXEPath();
if (NULL == exe_path)
if (nullptr == exe_path)
{
ERROR("Unable to find exe path\n");
palError = ERROR_PALINIT_CONVERT_EXE_PATH;
Expand All @@ -573,7 +573,7 @@ Initialize(
}

// InitializeProcessCommandLine took ownership of this memory.
command_line = NULL;
command_line = nullptr;

#ifdef PAL_PERF
// Initialize the Profiling structure
Expand All @@ -594,7 +594,7 @@ Initialize(
}

// LOADSetExeName took ownership of this memory.
exe_path = NULL;
exe_path = nullptr;
}

if (init_count == 0)
Expand Down Expand Up @@ -739,7 +739,7 @@ Initialize(

if (fFirstTimeInit && 0 == retval)
{
_ASSERTE(NULL != pThread);
_ASSERTE(nullptr != pThread);
}

if (retval != 0 && GetLastError() == ERROR_SUCCESS)
Expand Down Expand Up @@ -855,7 +855,7 @@ PAL_IsDebuggerPresent()
struct kinfo_proc info = {};
size_t size = sizeof(info);
int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
int ret = sysctl(mib, sizeof(mib)/sizeof(*mib), &info, &size, NULL, 0);
int ret = sysctl(mib, sizeof(mib)/sizeof(*mib), &info, &size, nullptr, 0);

if (ret == 0)
#if defined(__APPLE__)
Expand All @@ -872,12 +872,12 @@ PAL_IsDebuggerPresent()

struct kinfo_proc *info;

kd = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, "kvm_open");
if (kd == NULL)
kd = kvm_open(nullptr, nullptr, nullptr, KVM_NO_FILES, "kvm_open");
if (kd == nullptr)
return FALSE;

info = kvm_getprocs(kd, KERN_PROC_PID, getpid(), &cnt);
if (info == NULL || cnt < 1)
if (info == nullptr || cnt < 1)
{
kvm_close(kd);
return FALSE;
Expand Down Expand Up @@ -961,7 +961,7 @@ PAL_TerminateEx(
{
ENTRY_EXTERNAL("PAL_TerminateEx()\n");

if (NULL == init_critsec)
if (nullptr == init_critsec)
{
/* note that these macros probably won't output anything, since the
debug channels haven't been initialized yet */
Expand Down Expand Up @@ -1058,7 +1058,7 @@ BOOL PALInitLock(void)
}

CPalThread * pThread =
(PALIsThreadDataInitialized() ? InternalGetCurrentThread() : NULL);
(PALIsThreadDataInitialized() ? InternalGetCurrentThread() : nullptr);

InternalEnterCriticalSection(pThread, init_critsec);
return TRUE;
Expand All @@ -1080,7 +1080,7 @@ void PALInitUnlock(void)
}

CPalThread * pThread =
(PALIsThreadDataInitialized() ? InternalGetCurrentThread() : NULL);
(PALIsThreadDataInitialized() ? InternalGetCurrentThread() : nullptr);

InternalLeaveCriticalSection(pThread, init_critsec);
}
Expand Down Expand Up @@ -1162,7 +1162,7 @@ Note : not all peculiarities of Windows command-line processing are supported;
static LPWSTR INIT_FormatCommandLine (int argc, const char * const *argv)
{
LPWSTR retval;
LPSTR command_line=NULL, command_ptr;
LPSTR command_line=nullptr, command_ptr;
LPCSTR arg_ptr;
INT length, i,j;
BOOL bQuoted = FALSE;
Expand All @@ -1187,7 +1187,7 @@ static LPWSTR INIT_FormatCommandLine (int argc, const char * const *argv)
if(!command_line)
{
ERROR("couldn't allocate memory for command line!\n");
return NULL;
return nullptr;
}

command_ptr=command_line;
Expand Down Expand Up @@ -1226,27 +1226,27 @@ static LPWSTR INIT_FormatCommandLine (int argc, const char * const *argv)
*command_ptr='\0';

/* convert to Unicode */
i = MultiByteToWideChar(CP_ACP, 0,command_line, -1, NULL, 0);
i = MultiByteToWideChar(CP_ACP, 0,command_line, -1, nullptr, 0);
if (i == 0)
{
ASSERT("MultiByteToWideChar failure\n");
free(command_line);
return NULL;
return nullptr;
}

retval = reinterpret_cast<LPWSTR>(InternalMalloc((sizeof(WCHAR)*i)));
if(retval == NULL)
if(retval == nullptr)
{
ERROR("can't allocate memory for Unicode command line!\n");
free(command_line);
return NULL;
return nullptr;
}

if(!MultiByteToWideChar(CP_ACP, 0,command_line, -1, retval, i))
{
ASSERT("MultiByteToWideChar failure\n");
free(retval);
retval = NULL;
retval = nullptr;
}
else
TRACE("Command line is %s\n", command_line);
Expand Down Expand Up @@ -1276,25 +1276,25 @@ static LPWSTR INIT_GetCurrentEXEPath()
if (!path)
{
ERROR( "Cannot get current exe path\n" );
return NULL;
return nullptr;
}

PathCharString real_path;
real_path.Set(path, strlen(path));
free(path);

return_size = MultiByteToWideChar(CP_ACP, 0, real_path, -1, NULL, 0);
return_size = MultiByteToWideChar(CP_ACP, 0, real_path, -1, nullptr, 0);
if (0 == return_size)
{
ASSERT("MultiByteToWideChar failure\n");
return NULL;
return nullptr;
}

return_value = reinterpret_cast<LPWSTR>(InternalMalloc((return_size*sizeof(WCHAR))));
if (NULL == return_value)
if (nullptr == return_value)
{
ERROR("Not enough memory to create full path\n");
return NULL;
return nullptr;
}
else
{
Expand All @@ -1303,7 +1303,7 @@ static LPWSTR INIT_GetCurrentEXEPath()
{
ASSERT("MultiByteToWideChar failure\n");
free(return_value);
return_value = NULL;
return_value = nullptr;
}
else
{
Expand Down