I have tested enabling CLR_CMAKE_USE_SYSTEM_LIBUNWIND on dotnet8 in a PPA [0].
The build succeeds for amd64 and s390x. It fails for arm64 during crossgen:
``` crossgen2 -> /<<PKGBUILDDIR>>/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.arm64.Release/crossgen2/crossgen2.dll /<<PKGBUILDDIR>>/previously-built-dotnet/sdk/8.0.104/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.CrossGen.targets(470,5): error : /<<PKGBUILDDIR>>/src/runtime/artifacts/source-build/self/src//dotnet.sh: line 27: 56852 Segmentation fault (core dumped) ${dotnetPath} "$@" [/<<PKGBUILDDIR>>/src/runtime/artifacts/source-build/self/src/src/coreclr/tools/aot/crossgen2/crossgen2.csproj] /<<PKGBUILDDIR>>/previously-built-dotnet/sdk/8.0.104/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.CrossGen.targets(358,5): error NETSDK1096: Optimizing assemblies for performance failed. You can either exclude the failing assemblies from being optimized, or set the PublishReadyToRun property to false. [/<<PKGBUILDDIR>>/src/runtime/artifacts/source-build/self/src/src/coreclr/tools/aot/crossgen2/crossgen2.csproj]
Build FAILED.
```
This is the ldd output on an amd64 machine for validation:
I have tested enabling CLR_CMAKE_ USE_SYSTEM_ LIBUNWIND on dotnet8 in a PPA [0].
The build succeeds for amd64 and s390x. It fails for arm64 during crossgen:
```
crossgen2 -> /<<PKGBUILDDIR> >/src/runtime/ artifacts/ source- build/self/ src/artifacts/ bin/coreclr/ linux.arm64. Release/ crossgen2/ crossgen2. dll
/<< PKGBUILDDIR> >/previously- built-dotnet/ sdk/8.0. 104/Sdks/ Microsoft. NET.Sdk/ targets/ Microsoft. NET.CrossGen. targets( 470,5): error : /<<PKGBUILDDIR> >/src/runtime/ artifacts/ source- build/self/ src//dotnet. sh: line 27: 56852 Segmentation fault (core dumped) ${dotnetPath} "$@" [/<<PKGBUILDDIR >>/src/ runtime/ artifacts/ source- build/self/ src/src/ coreclr/ tools/aot/ crossgen2/ crossgen2. csproj]
/<< PKGBUILDDIR> >/previously- built-dotnet/ sdk/8.0. 104/Sdks/ Microsoft. NET.Sdk/ targets/ Microsoft. NET.CrossGen. targets( 358,5): error NETSDK1096: Optimizing assemblies for performance failed. You can either exclude the failing assemblies from being optimized, or set the PublishReadyToRun property to false. [/<<PKGBUILDDIR >>/src/ runtime/ artifacts/ source- build/self/ src/src/ coreclr/ tools/aot/ crossgen2/ crossgen2. csproj]
Build FAILED.
```
This is the ldd output on an amd64 machine for validation:
$ ldd /usr/lib/ dotnet/ shared/ Microsoft. NETCore. App/8.0. 4/libcoreclr. so
linux- vdso.so. 1 (0x00007fffbc39 8000)
libgcc_ s.so.1 => /lib/x86_ 64-linux- gnu/libgcc_ s.so.1 (0x000074a7fbda e000)
libunwind- x86_64. so.8 => /lib/x86_ 64-linux- gnu/libunwind- x86_64. so.8 (0x000074a7fbd9 2000)
libunwind. so.8 => /lib/x86_ 64-linux- gnu/libunwind. so.8 (0x000074a7fbd7 7000)
libstdc+ +.so.6 => /lib/x86_ 64-linux- gnu/libstdc+ +.so.6 (0x000074a7fb20 0000) 64-linux- gnu/libm. so.6 (0x000074a7fb51 7000) 64-linux- gnu/libc. so.6 (0x000074a7fae0 0000)
/lib64/ ld-linux- x86-64. so.2 (0x000074a7fbde 2000)
liblzma. so.5 => /lib/x86_ 64-linux- gnu/liblzma. so.5 (0x000074a7fbd4 3000)
libm.so.6 => /lib/x86_
libc.so.6 => /lib/x86_
[0] https:/ /launchpad. net/~mateus- morais/ +archive/ ubuntu/ dotnet- libunwind