%description -n corefx-test-native
Unit Test objs, native part
+%ifarch x86_64
+%package -n crossgen2-mic
+Summary: Publish crossgen2 as a single file with self-contained
+Requires: coreclr
+BuildArch: noarch
+AutoReqProv: no
+
+%description -n crossgen2-mic
+Publish crossgen2 as a single file with self-contained
+%endif
+
%prep
%setup -q -n %{name}-%{version}
cp %{SOURCE1} .
%define _reldir_fx_native artifacts/bin/native/net6.0-Linux-%{dotnet_buildtype_fx}-%{_barch}
%define _reldir_fx_managed artifacts/bin/microsoft.netcore.app.runtime.linux-%{_barch}/%{dotnet_buildtype_fx}/runtimes/linux-%{_barch}/lib/net6.0/
%define _reldir_fx_withoob artifacts/bin/runtime/net6.0-Linux-%{dotnet_buildtype_fx}-%{_barch}
+%define _reldir_crossgen2_publish %{_reldir_clr}/crossgen2/linux-%{_barch}/publish
export CFLAGS="${BASE_FLAGS}"
export CXXFLAGS="${BASE_FLAGS}"
# Build native CoreCLR and native CoreFX
./build.sh --portablebuild false %{_build_args} --subset clr.runtime+clr.jit+clr.iltools+libs.native --cmakeargs -DFEATURE_IBCLOGGER=true --cmakeargs -DFEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION=true --cmakeargs -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro %{_pgo_flags}
+%ifarch x86_64
+# Publish crossgen2 as a single file with self-contained
+./build.sh --portablebuild false %{_build_args} --subset clr.alljits --cmakeargs -DFEATURE_IBCLOGGER=true --cmakeargs -DFEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION=true --cmakeargs -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro %{_pgo_flags}
+./.dotnet/dotnet publish --self-contained true -r linux-%{_barch} ./src/coreclr/tools/aot/crossgen2/crossgen2.csproj -c Release -p:PublishSingleFile=true
+%endif
+
%if 0%{skipmscorlib}
%else
# Build mscorlib (System.Private.CoreLib.dll)
mkdir -p %{buildroot}%{_datadir}/%{dotnetfwdir}
ln -sf %{_datadir}/%{netcoreappdir} %{buildroot}%{_datadir}/%{dotnettizendir}/netcoreapp
+%ifarch x86_64
+# .NET Tizen MIC dir
+%define dotnetmicdir /opt/usr/dotnet/mic
+mkdir -p %{buildroot}/%{dotnetmicdir}
+%endif
+
# symlink to .NET version for compatibility
ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.0.0
ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.0
%endif
+# crossgen2-mic
+%ifarch x86_64
+cp %{_reldir_crossgen2_publish}/crossgen2 %{buildroot}%{dotnetmicdir}
+cp %{_reldir_crossgen2_publish}/libjitinterface_x64.so %{buildroot}%{dotnetmicdir}
+cp %{_reldir_crossgen2_publish}/libclrjit_unix_armel_x64.so %{buildroot}%{dotnetmicdir}
+cp %{_reldir_crossgen2_publish}/libclrjit_unix_arm64_x64.so %{buildroot}%{dotnetmicdir}
+
+result_list=("ld-linux-x86-64.so.2" "libssl.so.1.1")
+search_ldd() {
+ local path=$1
+ local library_list=$2
+ if [ -f $path ]; then
+ ldd_result=$(/usr/bin/ldd $path)
+ echo "$ldd_result" | while read line;
+ do
+ if [[ "$line" != *"GLIBC_"* ]] && [[ "$line" != *"linux-vdso.so.1"* ]] &&
+ [[ "$line" != *"ld-linux-x86-64.so.2"* ]]; then
+ cut_path=`echo $line | cut -d ' ' -f3`
+ cut_name=`echo $line | cut -d ' ' -f1`
+ library_list+=($cut_name)
+ echo "${library_list[@]}"
+ if [ -f $cut_path ]; then
+ result_list+=$(search_ldd $cut_path $library_list)
+ fi
+ fi
+ done
+ fi
+}
+
+result_list+=$(search_ldd %{_reldir_crossgen2_publish}/crossgen2)
+result_list+=$(search_ldd %{_reldir_crossgen2_publish}/libclrjit_unix_armel_x64.so)
+result_list+=$(search_ldd %{_reldir_crossgen2_publish}/libclrjit_unix_arm64_x64.so)
+result_list+=$(search_ldd %{_reldir_crossgen2_publish}/libjitinterface_x64.so)
+result_list+=$(search_ldd %{buildroot}/../../../../../lib64/libssl.so.1.1)
+
+unique_result=($(echo "${result_list[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '))
+for name in "${unique_result[@]}";
+do
+ cp %{buildroot}/../../../../../lib64/$name %{buildroot}%{dotnetmicdir}/$name
+done
+cp %{_builddir}/%{name}-%{version}/packaging/crossgen2-mic.txt %{buildroot}%{dotnetmicdir}
+%endif
+
# coreclr-test
%if 0%{skiptests}
%else
%manifest %{name}.manifest
/nuget/*.nupkg
+%ifarch x86_64
+%files -n crossgen2-mic
+%manifest %{name}.manifest
+%dir %{dotnetmicdir}
+%{dotnetmicdir}/*
+%endif
+
%if 0%{skipmscorlib}
%else
%post -n mscorlib
--- /dev/null
+crossgen2-mic.noarch.rpm
+
+crossgen2:
+ linux-vdso.so.1 (0x00007fff92ffe000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb96deb3000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb96dcaf000)
+ libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb96da92000)
+ libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fb96d847000)
+ librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb96d63f000)
+ libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb96d427000)
+ libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb96d09e000)
+ libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb96cd00000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb96c90f000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fb96eb16000)
+ libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fb96c639000)
+ libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fb96c407000)
+ libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fb96c203000)
+ libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fb96bff8000)
+ libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fb96bdf4000)
+ libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fb96bbda000)
+ld-linux-x86-64.so.2:
+ statically linked
+libc.so.6:
+ /lib64/ld-linux-x86-64.so.2 (0x00007fa968ad7000)
+ linux-vdso.so.1 (0x00007ffca4b95000)
+libclrjit_unix_arm64_x64.so:
+ linux-vdso.so.1 (0x00007ffe1ff18000)
+ libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa14ef5c000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa14ed3d000)
+ librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa14eb35000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa14e931000)
+ libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa14e5a8000)
+ libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa14e20a000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa14de19000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fa14f3fa000)
+libclrjit_unix_armel_x64.so:
+ linux-vdso.so.1 (0x00007ffe682b0000)
+ libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff80126d000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff80104e000)
+ librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff800e46000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff800c42000)
+ libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff8008b9000)
+ libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff80051b000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff80012a000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007ff8016e3000)
+libcom_err.so.2:
+ linux-vdso.so.1 (0x00007ffd3a3b9000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5befd7f000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5bef98e000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f5beff9e000)
+libcrypto.so.1.1:
+ linux-vdso.so.1 (0x00007ffd56fb2000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f66ac703000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f66ac4e4000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f66ac0f3000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f66acb58000)
+libdl.so.2:
+ linux-vdso.so.1 (0x00007ffd27a9a000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa41c5ec000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fa41c9dd000)
+libgcc_s.so.1:
+ linux-vdso.so.1 (0x00007ffcb63dc000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f028312f000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f0283520000)
+libgssapi_krb5.so.2:
+ linux-vdso.so.1 (0x00007fffda2cb000)
+ libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f6d736b2000)
+ libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f6d73480000)
+ libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f6d7327c000)
+ libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f6d73071000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6d72e6d000)
+ libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f6d72c69000)
+ libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f6d72a4f000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6d7265e000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6d7243f000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f6d73988000)
+libjitinterface_x64.so:
+ linux-vdso.so.1 (0x00007ffe315d0000)
+ libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007faac99fe000)
+ libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faac9660000)
+ libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007faac9448000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faac9057000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007faac9d87000)
+libk5crypto.so.3:
+ linux-vdso.so.1 (0x00007ffda41a8000)
+ libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fd64744f000)
+ libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fd64724b000)
+ libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fd647031000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd646c40000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd646a3c000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fd64765a000)
+libkeyutils.so.1:
+ linux-vdso.so.1 (0x00007ffd20929000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f39bc783000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f39bcb74000)
+libkrb5.so.3:
+ linux-vdso.so.1 (0x00007ffdc49a5000)
+ libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7973cbe000)
+ libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7973aba000)
+ libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f79738af000)
+ libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f79736ab000)
+ libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7973491000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f79730a0000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7972e81000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f7973ef0000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7972c7d000)
+libkrb5support.so.0:
+ linux-vdso.so.1 (0x00007ffdcabf4000)
+ libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f1cc8339000)
+ libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f1cc811f000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1cc7f1b000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1cc7b2a000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f1cc853d000)
+libm.so.6:
+ linux-vdso.so.1 (0x00007ffe1d172000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc622c26000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fc623017000)
+libpthread.so.0:
+ linux-vdso.so.1 (0x00007fff6b9c8000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f72a99e3000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f72a9dd4000)
+libresolv.so.2:
+ linux-vdso.so.1 (0x00007ffde7898000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb980132000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fb980523000)
+librt.so.1:
+ linux-vdso.so.1 (0x00007fff3e9ae000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fac07686000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fac07295000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fac078a5000)
+libssl.so.1.1:
+ linux-vdso.so.1 (0x00007ffe01dfc000)
+ libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f96677d9000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f96675ba000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96671c9000)
+ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9666fc5000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f9667ca4000)
+libstdc++.so.6:
+ linux-vdso.so.1 (0x00007fff619e7000)
+ libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f34b807b000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f34b7c8a000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f34b843a000)
+ libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f34b7a72000)
+libz.so.1:
+ linux-vdso.so.1 (0x00007ffdf43d8000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd91e302000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fd91e6f3000)
+