[elfutils] AArch64: handle new glibc-headers which provides proper GETREGSET structs.

Kyle McMartin kyle at fedoraproject.org
Mon Jun 9 19:01:50 UTC 2014


commit 2e16caff896ff62c61ab2ff96265ac24a4ec83e8
Author: Kyle McMartin <kyle at mcmartin.ca>
Date:   Mon Jun 9 14:11:40 2014 -0400

    AArch64: handle new glibc-headers which provides proper GETREGSET structs.

 elfutils-aarch64-user_regs_struct.patch |   35 +++++++++++++++++++++++++++++++
 elfutils.spec                           |   12 ++++++++--
 2 files changed, 44 insertions(+), 3 deletions(-)
---
diff --git a/elfutils-aarch64-user_regs_struct.patch b/elfutils-aarch64-user_regs_struct.patch
new file mode 100644
index 0000000..38240bc
--- /dev/null
+++ b/elfutils-aarch64-user_regs_struct.patch
@@ -0,0 +1,35 @@
+diff --git a/backends/aarch64_initreg.c b/backends/aarch64_initreg.c
+index 2492d56..8d68a6e 100644
+--- a/backends/aarch64_initreg.c
++++ b/backends/aarch64_initreg.c
+@@ -51,7 +51,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+ #else /* __aarch64__ */
+ 
+   /* General registers.  */
+-  struct user_pt_regs gregs;
++  struct user_regs_struct gregs;
+   struct iovec iovec;
+   iovec.iov_base = &gregs;
+   iovec.iov_len = sizeof (gregs);
+@@ -69,7 +69,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+   /* ELR cannot be found.  */
+ 
+   /* FP registers (only 64bits are used).  */
+-  struct user_fpsimd_state fregs;
++  struct user_fpsimd_struct fregs;
+   iovec.iov_base = &fregs;
+   iovec.iov_len = sizeof (fregs);
+   if (ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iovec) != 0)
+diff --git a/backends/arm_initreg.c b/backends/arm_initreg.c
+index 5837383..1edf62b 100644
+--- a/backends/arm_initreg.c
++++ b/backends/arm_initreg.c
+@@ -67,7 +67,7 @@ arm_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+ #elif defined __aarch64__
+   /* Compat mode: arm compatible code running on aarch64 */
+   int i;
+-  struct user_pt_regs gregs;
++  struct user_regs_struct gregs;
+   struct iovec iovec;
+   iovec.iov_base = &gregs;
+   iovec.iov_len = sizeof (gregs);
diff --git a/elfutils.spec b/elfutils.spec
index 25f8251..4eeea86 100644
--- a/elfutils.spec
+++ b/elfutils.spec
@@ -1,7 +1,7 @@
 Name: elfutils
 Summary: A collection of utilities and DSOs to handle compiled objects
 Version: 0.159
-%global baserelease 2
+%global baserelease 3
 URL: https://fedorahosted.org/elfutils/
 %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/
 License: GPLv3+ and (GPLv2+ or LGPLv3+)
@@ -45,11 +45,12 @@ Group: Development/Tools
 Source: %{?source_url}%{name}-%{version}.tar.bz2
 
 Patch1: %{?source_url}elfutils-portability.patch
+Patch2: elfutils-aarch64-user_regs_struct.patch
 
 %if !%{compat}
-Release: %{baserelease}%{?dist}.1
+Release: %{baserelease}%{?dist}
 %else
-Release: 0.%{baserelease}.1
+Release: 0.%{baserelease}
 %endif
 
 Requires: elfutils-libelf%{depsuffix} = %{version}-%{release}
@@ -207,6 +208,8 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c
 %endif
 %endif
 
+%patch2 -p1 -b .aa64~1
+
 find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
 
 %build
@@ -328,6 +331,9 @@ rm -rf ${RPM_BUILD_ROOT}
 %{_libdir}/libelf.a
 
 %changelog
+* Mon Jun 09 2014 Kyle McMartin <kyle at fedoraproject.org> - 0.159-3
+- AArch64: handle new glibc-headers which provides proper GETREGSET structs.
+
 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.159-2.1
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
 


More information about the scm-commits mailing list