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)
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
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
%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)
%ifarch aarch64
%define _barch arm64
%else
+%ifarch riscv64
+%define _barch riscv64
+%else
%ifarch %{ix86}
%define _barch x86
export CLANG_NO_LIBDIR_SUFFIX=1
%endif
%endif
%endif
+%endif
export CFLAGS=$BASE_FLAGS
export CXXFLAGS=$BASE_FLAGS
%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
%ifarch aarch64
%define rid linux-arm64
%else
+%ifarch riscv64
+%define rid linux-riscv64
+%else
%ifarch %{ix86}
%define rid linux-x86
%else
%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}
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
+