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

[NativeAOT] ObjWriter: Produce COMDAT sections for .xdata unwinding data #96686

Merged
merged 2 commits into from
Jan 10, 2024

Conversation

filipnavara
Copy link
Member

Fixes #96665

This is essentially the same fix as #83371, just ported on top of the C# ObjWriter.

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Jan 9, 2024
@ghost
Copy link

ghost commented Jan 9, 2024

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #96665

This is essentially the same fix as #83371, just ported on top of the C# ObjWriter.

Author: filipnavara
Assignees: -
Labels:

area-NativeAOT-coreclr

Milestone: -

@TIHan
Copy link
Contributor

TIHan commented Jan 10, 2024

There is a smoke_tests failure on linux-arm64, might be related to this change:

Console log: 'nativeaot.SmokeTests' from job ba7ea51a-06d3-4a9a-9ca3-79e95fe1980a (ubuntu.2004.armarch.open) using docker image mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8 on a001UFU
running $HELIX_CORRELATION_PAYLOAD/scripts/8b344f0b5ba24fb887a1d36b09a53f5a/execute.sh in /datadisks/disk1/work/B9DC09D9/w/A1870894/e max 10800 seconds

Output:
[BEGIN EXECUTION]
+ sudo python -m pip install --disable-pip-version-check -r /root/helix/scripts/runtime_python_requirements.txt
/usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.
  from cryptography.utils import int_from_bytes
WARNING: The directory '/home/helixbot2/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Ignoring cffi: markers 'python_version >= "3.8"' don't match your environment
Requirement already satisfied: certifi>=2023.7.22 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 1)) (2023.7.22)
Requirement already satisfied: ndg-httpsclient==0.5.1 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 2)) (0.5.1)
Requirement already satisfied: psutil==5.9.3 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 3)) (5.9.3)
Requirement already satisfied: pyasn1==0.4.5 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 4)) (0.4.5)
Requirement already satisfied: six>=1.11.0 in /usr/lib/python3/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 5)) (1.11.0)
Requirement already satisfied: cryptography>=39.0.1 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 7)) (40.0.2)
Requirement already satisfied: pyopenssl>=23.0.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 8)) (23.2.0)
Requirement already satisfied: asn1crypto==0.24.0 in /usr/lib/python3/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 10)) (0.24.0)
Requirement already satisfied: idna==2.8 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 11)) (2.8)
Requirement already satisfied: cffi==1.15.1 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 12)) (1.15.1)
Requirement already satisfied: pycparser==2.19 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 14)) (2.19)
Requirement already satisfied: docker==3.7.2 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 16)) (3.7.2)
Requirement already satisfied: docker-pycreds==0.4.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 17)) (0.4.0)
Requirement already satisfied: websocket-client==0.56.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 18)) (0.56.0)
Requirement already satisfied: requests<=2.28.1,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 20)) (2.27.1)
Requirement already satisfied: urllib3<1.27,>=1.24.3 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 21)) (1.24.3)
Requirement already satisfied: azure-storage-blob==12.5.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 23)) (12.5.0)
Requirement already satisfied: azure-core==1.7.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 24)) (1.7.0)
Requirement already satisfied: azure-devops==5.0.0b9 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 25)) (5.0.0b9)
Requirement already satisfied: msrest==0.6.10 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 26)) (0.6.10)
Requirement already satisfied: isodate==0.6.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 27)) (0.6.0)
Requirement already satisfied: requests-oauthlib==1.2.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 28)) (1.2.0)
Requirement already satisfied: oauthlib==3.1.0 in /usr/local/lib/python3.6/dist-packages (from -r /root/helix/scripts/runtime_python_requirements.txt (line 29)) (3.1.0)
Requirement already satisfied: charset-normalizer~=2.0.0; python_version >= "3" in /usr/local/lib/python3.6/dist-packages (from requests<=2.28.1,>=2.21.0->-r /root/helix/scripts/runtime_python_requirements.txt (line 20)) (2.0.12)
+ export PYTHONPATH=/root/helix/scripts:
+ cd /root/helix/work/workitem/e
+ mkdir -p /home/helixbot/dotnetbuild/dumps/
+ /root/helix/work/correlation/scripts/8b344f0b5ba24fb887a1d36b09a53f5a/execute.sh
+ export CORE_ROOT=/root/helix/work/correlation
+ export CLRCustomTestLauncher=/root/helix/work/correlation/nativeaottest.sh
+ export __TestEnv=/root/helix/work/workitem/u/SetStressModes_normal.sh
+ export __TestTimeout=3600000
+ export __TestCollectionTimeoutMins=180
+ export __CollectDumps=1
+ export __CrashDumpFolder=/home/helixbot/dotnetbuild/dumps
+ set __TestArchitecture=arm64
+ cat /root/helix/work/workitem/u/SetStressModes_normal.sh
#!/usr/bin/env bash
export DOTNET_DbgEnableMiniDump=1
export DOTNET_EnableCrashReport=1
export DOTNET_DbgMiniDumpName=$HELIX_DUMP_FOLDER/coredump.%d.dmp
+ export PATH=/root/helix/work/correlation/dotnet-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ export DOTNET_ROOT=/root/helix/work/correlation/dotnet-cli
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_CLI_HOME=/root/helix/work/workitem/e/.dotnet
+ export NUGET_PACKAGES=/root/helix/work/workitem/e/.nuget
+ dotnet /root/helix/work/correlation/xunit/xunit.console.dll nativeaot/SmokeTests/nativeaot.SmokeTests.XUnitWrapper.dll -parallel collections -nocolor -noshadow -xml testResults.xml
Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 8.0.0)
  Discovering: nativeaot.SmokeTests.XUnitWrapper (method display = ClassAndMethod, method display options = None)
  Discovered:  nativeaot.SmokeTests.XUnitWrapper (found 15 test cases)
  Starting:    nativeaot.SmokeTests.XUnitWrapper (parallel test collections = on, max threads = 2)
    nativeaot/SmokeTests/Reflection/Reflection_FromUsage/Reflection_FromUsage.sh [FAIL]
      DOTNET_DbgEnableMiniDump is set and the createdump binary does not exist: /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage//native/createdump
      Unhandled exception. System.TypeInitializationException: A type initializer threw an exception. To determine which type, inspect the InnerException's StackTrace property.
       ---> System.NullReferenceException: Object reference not set to an instance of an object.
         at System.Threading.Lock.TryInitializeStatics() + 0xf8
         at System.Threading.Lock.TryEnterSlow(Int32 timeoutMs, Lock.ThreadId currentThreadId) + 0x16c
         at System.Threading.Lock.EnterAndGetCurrentThreadId() + 0x68
         at System.Runtime.CompilerServices.ClassConstructorRunner.Cctor.GetCctor(StaticClassConstructionContext* pContext) + 0x38
         at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0x40
         at System.Runtime.CompilerServices.ClassConstructorRunner.CheckStaticClassConstructionReturnGCStaticBase(StaticClassConstructionContext* context, Object gcStaticBase) + 0x14
         at System.Diagnostics.Tracing.NativeRuntimeEventSource..cctor() + 0x58
         at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0xd4
         --- End of inner exception stack trace ---
         at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0x170
         at System.Runtime.CompilerServices.ClassConstructorRunner.CheckStaticClassConstructionReturnGCStaticBase(StaticClassConstructionContext* context, Object gcStaticBase) + 0x14
         at System.Threading.WaitHandle.WaitOneNoCheck(Int32 millisecondsTimeout, Object associatedObject, NativeRuntimeEventSource.WaitHandleWaitSourceMap waitSource) + 0xbc
         at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout) + 0x1c
         at System.Threading.TimerQueue.TimerThread() + 0x84
         at System.Threading.Thread.StartThread(IntPtr parameter) + 0x114
         at Reflection_FromUsage!<BaseAddress>+0x48f260
      /root/helix/work/correlation/nativeaottest.sh: line 15:   831 Aborted                 (core dumped) $_DebuggerFullPath $1/native/$exename "${@:3}"
      
      Return code:      1
      Raw output file:      /root/helix/work/workitem/uploads/Reports/nativeaot.SmokeTests/Reflection/Reflection_FromUsage/Reflection_FromUsage.output.txt
      Raw output:
      BEGIN EXECUTION
      /root/helix/work/correlation/nativeaottest.sh /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage/ Reflection_FromUsage.dll ''
      Testing delegate targets are reflectable...
      Testing virtual delegate targets are reflectable...
      TestContainment
      TestInterfaceMethod
      TestByRefLikeTypeMethod
      TestILScanner
      Search current assembly
      GetMethod on a non-generic type
      Totally unreferenced method on a non-generic type (we should not find it)
      GetMethod on a non-generic type for a generic method
      Generics
      Partial canonical types
      Search in system assembly
      Search through a forwarder
      Search in mscorlib
      Enum.GetValues
      Enum.GetValuesAsUnderlyingType
      Pattern in LINQ expressions
      Other pattern in LINQ expressions
      TestUnreferencedEnum
      TestAttributeInheritance
      TestStringConstructor
      TestAssemblyAndModuleAttributes
      TestAttributeExpressions
      TestParameterAttributes
      TestPropertyAndEventAttributes
      TestNecessaryEETypeReflection
      False
      False
      False
      False
      True
      True
      True
      ReflectionTest+TestGenericLdtoken+Generic`1[[ReflectionTest+TestGenericLdtoken+Atom, Reflection_FromUsage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
      TestCreateDelegate
      TestGetUninitializedObject
      TestInstanceFields
      TestReflectionInvoke
      TestConstructors
      TestInvokeMemberParamsCornerCase
      Expected: 100
      Actual: 134
      END EXECUTION - FAILED
      Test failed. Trying to see if dump file was created in /home/helixbot/dotnetbuild/dumps since 1/9/2024 3:55:38 PM
      Test Harness Exitcode is : 1
      To run the test:
      > set CORE_ROOT=/root/helix/work/correlation
      > /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage/Reflection_FromUsage.sh
      Stack Trace:
        /__w/1/s/artifacts/tests/coreclr/linux.arm64.Release/TestWrappers/nativeaot.SmokeTests/nativeaot.SmokeTests.XUnitWrapper.cs(1040,0): at nativeaot_SmokeTests._Reflection_Reflection_FromUsage_Reflection_FromUsage_._Reflection_Reflection_FromUsage_Reflection_FromUsage_sh()
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
           at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
      Output:
        DOTNET_DbgEnableMiniDump is set and the createdump binary does not exist: /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage//native/createdump
        Unhandled exception. System.TypeInitializationException: A type initializer threw an exception. To determine which type, inspect the InnerException's StackTrace property.
         ---> System.NullReferenceException: Object reference not set to an instance of an object.
           at System.Threading.Lock.TryInitializeStatics() + 0xf8
           at System.Threading.Lock.TryEnterSlow(Int32 timeoutMs, Lock.ThreadId currentThreadId) + 0x16c
           at System.Threading.Lock.EnterAndGetCurrentThreadId() + 0x68
           at System.Runtime.CompilerServices.ClassConstructorRunner.Cctor.GetCctor(StaticClassConstructionContext* pContext) + 0x38
           at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0x40
           at System.Runtime.CompilerServices.ClassConstructorRunner.CheckStaticClassConstructionReturnGCStaticBase(StaticClassConstructionContext* context, Object gcStaticBase) + 0x14
           at System.Diagnostics.Tracing.NativeRuntimeEventSource..cctor() + 0x58
           at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0xd4
           --- End of inner exception stack trace ---
           at System.Runtime.CompilerServices.ClassConstructorRunner.EnsureClassConstructorRun(StaticClassConstructionContext* pContext) + 0x170
           at System.Runtime.CompilerServices.ClassConstructorRunner.CheckStaticClassConstructionReturnGCStaticBase(StaticClassConstructionContext* context, Object gcStaticBase) + 0x14
           at System.Threading.WaitHandle.WaitOneNoCheck(Int32 millisecondsTimeout, Object associatedObject, NativeRuntimeEventSource.WaitHandleWaitSourceMap waitSource) + 0xbc
           at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout) + 0x1c
           at System.Threading.TimerQueue.TimerThread() + 0x84
           at System.Threading.Thread.StartThread(IntPtr parameter) + 0x114
           at Reflection_FromUsage!<BaseAddress>+0x48f260
        /root/helix/work/correlation/nativeaottest.sh: line 15:   831 Aborted                 (core dumped) $_DebuggerFullPath $1/native/$exename "${@:3}"
        
        Return code:      1
        Raw output file:      /root/helix/work/workitem/uploads/Reports/nativeaot.SmokeTests/Reflection/Reflection_FromUsage/Reflection_FromUsage.output.txt
        Raw output:
        BEGIN EXECUTION
        /root/helix/work/correlation/nativeaottest.sh /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage/ Reflection_FromUsage.dll ''
        Testing delegate targets are reflectable...
        Testing virtual delegate targets are reflectable...
        TestContainment
        TestInterfaceMethod
        TestByRefLikeTypeMethod
        TestILScanner
        Search current assembly
        GetMethod on a non-generic type
        Totally unreferenced method on a non-generic type (we should not find it)
        GetMethod on a non-generic type for a generic method
        Generics
        Partial canonical types
        Search in system assembly
        Search through a forwarder
        Search in mscorlib
        Enum.GetValues
        Enum.GetValuesAsUnderlyingType
        Pattern in LINQ expressions
        Other pattern in LINQ expressions
        TestUnreferencedEnum
        TestAttributeInheritance
        TestStringConstructor
        TestAssemblyAndModuleAttributes
        TestAttributeExpressions
        TestParameterAttributes
        TestPropertyAndEventAttributes
        TestNecessaryEETypeReflection
        False
        False
        False
        False
        True
        True
        True
        ReflectionTest+TestGenericLdtoken+Generic`1[[ReflectionTest+TestGenericLdtoken+Atom, Reflection_FromUsage, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
        TestCreateDelegate
        TestGetUninitializedObject
        TestInstanceFields
        TestReflectionInvoke
        TestConstructors
        TestInvokeMemberParamsCornerCase
        Expected: 100
        Actual: 134
        END EXECUTION - FAILED
        Test failed. Trying to see if dump file was created in /home/helixbot/dotnetbuild/dumps since 1/9/2024 3:55:38 PM
        Test Harness Exitcode is : 1
        To run the test:
        > set CORE_ROOT=/root/helix/work/correlation
        > /root/helix/work/workitem/e/nativeaot/SmokeTests/Reflection/Reflection_FromUsage/Reflection_FromUsage.sh
  Finished:    nativeaot.SmokeTests.XUnitWrapper
=== TEST EXECUTION SUMMARY ===
   nativeaot.SmokeTests.XUnitWrapper  Total: 15, Errors: 0, Failed: 1, Skipped: 0, Time: 16.919s
+ export _commandExitCode=1
+ python /root/helix/work/correlation/reporter/run.py https://dev.azure.com/dnceng-public/ public 12203900 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im9PdmN6NU1fN3AtSGpJS2xGWHo5M3VfVjBabyJ9.eyJuYW1laWQiOiJjNzczZjJjMi01MTIwLTQyMDctYWZlMi1hZmFmMzVhOGJjMGEiLCJzY3AiOiJhcHBfdG9rZW4iLCJhdWkiOiIwNjYxNTM0NC1lZDkzLTQ4MDktYjdjNi0zYzE0ZjIxYjdlMzMiLCJzaWQiOiI0NDI0MmU4ZS1mNmQxLTQwMzMtOGM0Zi0zNjVmZWQ2M2U4MDIiLCJCdWlsZElkIjoiY2JiMTgyNjEtYzQ4Zi00YWJiLTg2NTEtOGNkY2I1NDc0NjQ5OzUxOTU3NiIsImpvYnJlZiI6IjQ0YzI3MDc1LWM1ODUtNDBjOS1iZTM0LWEyNWZkNjQwY2EwNTpkMjgyYjYxMS02NzljLTUwMTQtM2ZlNi0zYTkzMWFkZTMwNWYiLCJwcGlkIjoidnN0ZnM6Ly8vQnVpbGQvQnVpbGQvNTE5NTc2Iiwib3JjaGlkIjoiNDRjMjcwNzUtYzU4NS00MGM5LWJlMzQtYTI1ZmQ2NDBjYTA1LmJ1aWxkLmJ1aWxkX2xpbnV4X2FybTY0X3JlbGVhc2VfbmF0aXZlYW90Ll9fZGVmYXVsdCIsInJlcG9JZHMiOiIiLCJpc3MiOiJhcHAudnN0b2tlbi52aXN1YWxzdHVkaW8uY29tIiwiYXVkIjoiYXBwLnZzdG9rZW4udmlzdWFsc3R1ZGlvLmNvbXx2c286NmZjYzkyZTUtNzNhNy00Zjg4LThkMTMtZDkwNDViNDVmYjI3IiwibmJmIjoxNzA0ODEyNzIzLCJleHAiOjE3MDQ4MjExMjN9.qGj74uqhOxqnwtdUMwYFCUlce-Lzym8j3atm1cgYlw94UZ1cNoMKuzaRKqTtxDtvzaolgMHAiOADQ4Qr6aKLJdp4j7_z3C7p2QC8UAh1sxb4p1xXvQGc4c3ZJuiLLLsW8Ko5hiT20dsKXutj344ia6C3ieLAB9nU1ceNTzTwwXArJSuhKoprlBE5DZNoVNkWlliQaAbvK_iyFKlOwF5gu5nzJW0sezVhxLcK2_dmmJB61X3cjBJF_KqYT5wLFt1WLMgiO0WVmPdoCyb23HQdGxRExe7HruKPmdbHnElMLpWIwLoxUdA8rJAAmXQAOCSNQkdkhGERACEzSr-eMqZ6DQ
2024-01-09T15:55:54.525Z	INFO   	run.py	run(48)	main	Beginning reading of test results.
2024-01-09T15:55:54.526Z	INFO   	run.py	__init__(42)	read_results	Searching '/root/helix/work/workitem/e' for test results files
2024-01-09T15:55:54.526Z	INFO   	run.py	__init__(48)	read_results	Found results file /root/helix/work/workitem/e/testResults.xml with format xunit
2024-01-09T15:55:54.530Z	INFO   	run.py	__init__(42)	read_results	Searching '/root/helix/work/workitem/uploads' for test results files
2024-01-09T15:55:54.531Z	INFO   	run.py	packing_test_reporter(30)	report_results	Packing 15 test reports to '/root/helix/work/workitem/e/__test_report.json'
2024-01-09T15:55:54.531Z	INFO   	run.py	packing_test_reporter(33)	report_results	Packed 14552 bytes
/usr/local/lib/python3.6/dist-packages/azure/storage/blob/_shared/encryption.py:15: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.
  from cryptography.hazmat.backends import default_backend
+ exit 1
+ export _commandExitCode=1
+ chmod -R 777 /home/helixbot/dotnetbuild/dumps
+ exit 1

[END EXECUTION]
Exit Code:1

@am11
Copy link
Member

am11 commented Jan 10, 2024

According to build analysis, https://github.com/dotnet/runtime/pull/96686/checks?check_run_id=20319913103, it's a known issue #94728.

This PR is only updating the (windows-only) COFF writer. 🙂

@TIHan
Copy link
Contributor

TIHan commented Jan 10, 2024

Ok thank you for checking that. Change seems good to me then.

Copy link
Member

@MichalStrehovsky MichalStrehovsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@MichalStrehovsky MichalStrehovsky merged commit 6db9acf into dotnet:main Jan 10, 2024
106 of 110 checks passed
@filipnavara filipnavara mentioned this pull request Jan 10, 2024
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
@filipnavara filipnavara deleted the comdat-xdata branch January 24, 2024 19:07
@github-actions github-actions bot locked and limited conversation to collaborators Feb 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-NativeAOT-coreclr community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Size regression on win-x64 with managed objwriter
4 participants