Skip to content

Commit

Permalink
fix build for musl 1.2.3 (#67763)
Browse files Browse the repository at this point in the history
  • Loading branch information
ayakael committed Apr 9, 2022
1 parent aff3c18 commit f78b63b
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 44 deletions.
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

0 comments on commit f78b63b

Please sign in to comment.