@@ -218,15 +218,22 @@ internal static string[] GetBuilderDefinedDefines(IIl2CppPlatformProvider il2cpp
218218 return defines . ToArray ( ) ;
219219 }
220220
221- internal static string [ ] GetBuildingIL2CPPArguments ( IIl2CppPlatformProvider il2cppPlatformProvider , BuildTargetGroup buildTargetGroup )
221+ internal static string [ ] GetDebuggerIL2CPPArguments ( IIl2CppPlatformProvider il2cppPlatformProvider , BuildTargetGroup buildTargetGroup )
222222 {
223- // When changing this function, don't forget to change GetBuilderDefinedDefines!
224223 var arguments = new List < string > ( ) ;
225- var apiCompatibilityLevel = PlayerSettings . GetApiCompatibilityLevel ( buildTargetGroup ) ;
226224
227225 if ( EnableIL2CPPDebugger ( il2cppPlatformProvider , buildTargetGroup ) )
228226 arguments . Add ( "--enable-debugger" ) ;
229227
228+ return arguments . ToArray ( ) ;
229+ }
230+
231+ internal static string [ ] GetBuildingIL2CPPArguments ( IIl2CppPlatformProvider il2cppPlatformProvider , BuildTargetGroup buildTargetGroup )
232+ {
233+ // When changing this function, don't forget to change GetBuilderDefinedDefines!
234+ var arguments = new List < string > ( ) ;
235+ var apiCompatibilityLevel = PlayerSettings . GetApiCompatibilityLevel ( buildTargetGroup ) ;
236+
230237 if ( BuildPipeline . IsFeatureSupported ( "ENABLE_SCRIPTING_GC_WBARRIERS" , il2cppPlatformProvider . target ) )
231238 {
232239 var hasGCBarrierValidation = PlayerSettings . gcWBarrierValidation ;
@@ -415,6 +422,14 @@ private void ConvertPlayerDlltoCpp(string inputDirectory, string outputDirectory
415422 if ( m_BuildForMonoRuntime )
416423 arguments . Add ( "--mono-runtime" ) ;
417424
425+ // Working around gcc bug 41091
426+ if ( m_PlatformProvider . target == BuildTarget . StandaloneLinux ||
427+ m_PlatformProvider . target == BuildTarget . StandaloneLinux64 ||
428+ m_PlatformProvider . target == BuildTarget . StandaloneLinuxUniversal )
429+ {
430+ arguments . Add ( "--disable-aggressive-inlining" ) ;
431+ }
432+
418433 var buildTargetGroup = BuildPipeline . GetBuildTargetGroup ( m_PlatformProvider . target ) ;
419434 var apiCompatibilityLevel = PlayerSettings . GetApiCompatibilityLevel ( buildTargetGroup ) ;
420435 arguments . Add ( string . Format ( "--dotnetprofile=\" {0}\" " , IL2CPPUtils . ApiCompatibilityLevelToDotNetProfileArgument ( apiCompatibilityLevel ) ) ) ;
@@ -428,6 +443,7 @@ private void ConvertPlayerDlltoCpp(string inputDirectory, string outputDirectory
428443 arguments . AddRange ( Il2CppNativeCodeBuilderUtils . AddBuilderArguments ( il2CppNativeCodeBuilder , OutputFileRelativePath ( ) , m_PlatformProvider . includePaths , m_PlatformProvider . libraryPaths , compilerConfiguration ) ) ;
429444 }
430445
446+ arguments . AddRange ( IL2CPPUtils . GetDebuggerIL2CPPArguments ( m_PlatformProvider , buildTargetGroup ) ) ;
431447 arguments . AddRange ( IL2CPPUtils . GetBuildingIL2CPPArguments ( m_PlatformProvider , buildTargetGroup ) ) ;
432448 arguments . Add ( $ "--map-file-parser={ CommandLineFormatter . PrepareFileName ( GetMapFileParserPath ( ) ) } ") ;
433449
0 commit comments