Files
UnrealEngineUWP/Engine/Source/Runtime/Launch/Private/Unix/LaunchUnix.cpp
Brandon Schaefer 4345d5aa16 Disable container overflow checks
#jira UE-144152
#rb none
#preflight none

[CL 19542232 by Brandon Schaefer in ue5-main branch]
2022-03-29 10:56:08 -04:00

37 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "CoreMinimal.h"
#include "LaunchEngineLoop.h"
#include "UnixCommonStartup.h"
#ifndef DISABLE_ASAN_LEAK_DETECTOR
#define DISABLE_ASAN_LEAK_DETECTOR 0
#endif
/*
* We honestly leak so much this output is not super useful, so lets disable by default but if you want to re-enable disable
* this DEFINE in LinuxToolchain.cs area. This must be defined in the main binary otherwise asan*.so will bind to this symbol first
*/
extern "C" const char* LAUNCH_API __asan_default_options()
{
#if DISABLE_ASAN_LEAK_DETECTOR
return "detect_container_overflow=0 detect_leaks=0";
#else
return "detect_container_overflow=0";
#endif
}
extern int32 GuardedMain( const TCHAR* CmdLine );
/**
* Workaround function to avoid circular dependencies between Launch and CommonUnixStartup modules.
*
* Other platforms call FEngineLoop::AppExit() in their main() (removed by preprocessor if compiled without engine), but on Unix we want to share a common main() in CommonUnixStartup module,
* so not just the engine but all the programs could share this logic. Unfortunately, AppExit() practice breaks this nice approach since FEngineLoop cannot be moved outside of Launch without
* making too many changes. Hence CommonUnixMain will call it through this function if WITH_ENGINE is defined.
*/
void LaunchUnix_FEngineLoop_AppExit()
{
return FEngineLoop::AppExit();
}