From: Mikhail Kurinnoi Date: Mon, 4 Dec 2023 21:59:28 +0000 (+0300) Subject: [Tizen] Add riscv64 build support. X-Git-Tag: accepted/tizen/unified/20241231.014852~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fdead9c0fb55f5c9e357593ee50d86ddad8e798b;p=platform%2Fcore%2Fdotnet%2Fdiagnostics.git [Tizen] Add riscv64 build support. --- diff --git a/packaging/coreclr-diagnostics.spec b/packaging/coreclr-diagnostics.spec index b18ef6d71..c557c5f06 100755 --- a/packaging/coreclr-diagnostics.spec +++ b/packaging/coreclr-diagnostics.spec @@ -20,8 +20,6 @@ BuildRequires: corefx-managed BuildRequires: gettext-tools BuildRequires: pkgconfig(openssl3) BuildRequires: libstdc++-devel -BuildRequires: lldb >= 3.8 -BuildRequires: lldb-devel >= 3.8 BuildRequires: llvm >= 3.8 BuildRequires: llvm-devel >= 3.8 BuildRequires: pkgconfig(libunwind) @@ -29,6 +27,10 @@ BuildRequires: pkgconfig(lttng-ust) BuildRequires: pkgconfig(uuid) BuildRequires: python BuildRequires: tizen-release +%ifnarch riscv64 +BuildRequires: lldb >= 3.8 +BuildRequires: lldb-devel >= 3.8 +%endif %ifarch armv7l BuildRequires: python-accel-armv7l-cross-arm @@ -48,6 +50,12 @@ BuildRequires: clang-accel-aarch64-cross-aarch64 BuildRequires: patchelf %endif +%ifarch riscv64 +BuildRequires: python-accel-riscv64-cross-riscv64 +BuildRequires: clang-accel-riscv64-cross-riscv64 +BuildRequires: patchelf +%endif + %ifarch %{ix86} BuildRequires: patchelf BuildRequires: glibc-64bit @@ -71,11 +79,18 @@ Requires: libuuid %description This package contains components for basic .NET debugging and diagnostic support. +%package -n coreclr-dbgshim +Summary: This package contains libgdbshim (part of Diagnostics), CoreCLR Debug API. +AutoReqProv: no + +%description -n coreclr-dbgshim +libdbgshim.so library (part of Diagnostics). + %prep %setup -q -n %{name}-%{version} cp %{SOURCE1} . -%ifarch armv7l armv7hl aarch64 +%ifarch armv7l armv7hl aarch64 riscv64 # Detect interpreter name from cross-gcc LD_INTERPRETER=$(patchelf --print-interpreter /emul/usr/bin/gcc) LD_RPATH=$(patchelf --print-rpath /emul/usr/bin/gcc) @@ -108,6 +123,9 @@ BASE_FLAGS=" --target=%{_host} " %ifarch aarch64 %define _barch arm64 %else +%ifarch riscv64 +%define _barch riscv64 +%else %ifarch %{ix86} %define _barch x86 export CLANG_NO_LIBDIR_SUFFIX=1 @@ -128,6 +146,7 @@ export CLANG_NO_LIBDIR_SUFFIX=1 %endif %endif %endif +%endif export CFLAGS=$BASE_FLAGS export CXXFLAGS=$BASE_FLAGS @@ -154,6 +173,7 @@ sed -i "s,TIZEN_NUGET_PACKAGES_DIR,${NUGET_PACKAGES}," %{_builddir}/%{name}-%{ve %install %define diagnosticsdir %{_datadir}/dotnet/shared/Microsoft.NETCore.App/%{dotnet_version}/SOS +%define dbgshimdir %{_datadir}/dotnet/shared/Microsoft.NETCore.App/%{dotnet_version} %ifarch x86_64 %define rid linux-x64 @@ -161,6 +181,9 @@ sed -i "s,TIZEN_NUGET_PACKAGES_DIR,${NUGET_PACKAGES}," %{_builddir}/%{name}-%{ve %ifarch aarch64 %define rid linux-arm64 %else +%ifarch riscv64 +%define rid linux-riscv64 +%else %ifarch %{ix86} %define rid linux-x86 %else @@ -172,10 +195,14 @@ sed -i "s,TIZEN_NUGET_PACKAGES_DIR,${NUGET_PACKAGES}," %{_builddir}/%{name}-%{ve %endif %endif %endif +%endif # SOS mkdir -p %{buildroot}%{diagnosticsdir}/%{rid} -cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/*.so %{buildroot}%{diagnosticsdir}/%{rid} +cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/libsos.so %{buildroot}%{diagnosticsdir}/%{rid} +%ifnarch riscv64 +cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/libsosplugin.so %{buildroot}%{diagnosticsdir}/%{rid} +%endif cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/Microsoft.Bcl.AsyncInterfaces.dll %{buildroot}%{diagnosticsdir} cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/Microsoft.Diagnostics.DebugServices.dll %{buildroot}%{diagnosticsdir} cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/Microsoft.Diagnostics.DebugServices.Implementation.dll %{buildroot}%{diagnosticsdir} @@ -213,7 +240,16 @@ rm -f %{buildroot}%{diagnosticsdir}/System.Runtime.CompilerServices.Unsafe.dll touch %{buildroot}%{diagnosticsdir}/version-%{version}-%{release} +# dbgshim +mkdir -p %{buildroot}%{dbgshimdir} +cp %{_artifacts}/linux.%{_barch}.%{_buildtype}/libdbgshim.so %{buildroot}%{dbgshimdir} + + %files %manifest %{name}.manifest %{diagnosticsdir}/* +%files -n coreclr-dbgshim +%manifest %{name}.manifest +%{dbgshimdir}/libdbgshim.so +