diff options
-rwxr-xr-x | packaging/coreclr.spec | 26 | ||||
-rw-r--r-- | src/debug/createdump/threadinfo.cpp | 6 |
2 files changed, 24 insertions, 8 deletions
diff --git a/packaging/coreclr.spec b/packaging/coreclr.spec index a012e654ce..b4e2485cf0 100755 --- a/packaging/coreclr.spec +++ b/packaging/coreclr.spec @@ -4,7 +4,7 @@ %define skipnative 0 %define skipmscorlib 0 -%ifarch %{arm} aarch64 %{ix86} x86_64 +%ifarch armv7l armv7hl aarch64 %{ix86} x86_64 %else %define skiptests 1 %endif @@ -41,11 +41,16 @@ Requires: libunwind Requires: libuuid # Accelerate python, clang -%ifarch %{arm} +%ifarch armv7l BuildRequires: python-accel-armv7l-cross-arm BuildRequires: clang-accel-armv7l-cross-arm %endif +%ifarch armv7hl +BuildRequires: python-accel-armv7hl-cross-arm +BuildRequires: clang-accel-armv7hl-cross-arm +%endif + %ifarch aarch64 BuildRequires: python-accel-aarch64-cross-aarch64 BuildRequires: clang-accel-aarch64-cross-aarch64 @@ -66,7 +71,7 @@ BuildRequires: pkgconfig(lttng-ust) %if 0%{skipmscorlib} %else -%ifarch %{arm} aarch64 +%ifarch armv7l armv7hl aarch64 BuildRequires: patchelf %endif %ifarch %{ix86} @@ -117,7 +122,7 @@ cp %{SOURCE1} . %if 0%{skipmscorlib} %else -%ifarch %{arm} aarch64 +%ifarch armv7l armv7hl aarch64 # Detect interpreter name from cross-gcc LD_INTERPRETER=$(patchelf --print-interpreter /emul/usr/bin/gcc) LD_RPATH=$(patchelf --print-rpath /emul/usr/bin/gcc) @@ -166,17 +171,22 @@ export CLANG_NO_LIBDIR_SUFFIX=1 BASE_FLAGS="$(echo $BASE_FLAGS | sed -e 's/--target=i686/--target=i586/')" BASE_FLAGS="$BASE_FLAGS -mstackrealign" %else -%ifarch %{arm} +%ifarch armv7l %define _barch armel export CLANG_NO_LIBDIR_SUFFIX=1 %else +%ifarch armv7hl +%define _barch arm +export CLANG_NO_LIBDIR_SUFFIX=1 +%else %endif %endif %endif %endif +%endif -%ifarch %{arm} +%ifarch armv7l armv7hl %define _tarch arm %endif %ifarch aarch64 @@ -197,7 +207,7 @@ export CFLAGS="${BASE_FLAGS}" export CXXFLAGS="${BASE_FLAGS}" export ASMFLAGS="${BASE_FLAGS}" -%ifarch %{arm} +%ifarch armv7l armv7hl %if %{dotnet_buildtype} == "Release" export CXXFLAGS+="-fstack-protector-strong -D_FORTIFY_SOURCE=2" %else @@ -219,7 +229,7 @@ export CXXFLAGS+="-fstack-protector-strong" %endif %endif -%ifarch %{arm} aarch64 +%ifarch armv7l armv7hl aarch64 %define _ngen_relocs_opts cmakeargs "-DFEATURE_NGEN_RELOCS_OPTIMIZATIONS=true" %else %define _ngen_relocs_opts "" diff --git a/src/debug/createdump/threadinfo.cpp b/src/debug/createdump/threadinfo.cpp index 685f9e64c0..55d1df947e 100644 --- a/src/debug/createdump/threadinfo.cpp +++ b/src/debug/createdump/threadinfo.cpp @@ -322,6 +322,12 @@ void ThreadInfo::SetRegisters(elf_prstatus *prstatus) m_gpRegisters.ARM_r10 = u_reg->uregs[10]; m_gpRegisters.ARM_fp = u_reg->uregs[REG_FP]; m_gpRegisters.ARM_ip = u_reg->uregs[REG_IP]; +#elif defined(__aarch64__) + struct user_regs_struct *u_reg = (struct user_regs_struct *)&prstatus->pr_reg; + memcpy(m_gpRegisters.regs, u_reg, sizeof(m_gpRegisters.regs)); + m_gpRegisters.sp = u_reg->sp; + m_gpRegisters.pc = u_reg->pc; + m_gpRegisters.pstate = u_reg->pstate; #endif } |