From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8532463718242061244==" MIME-Version: 1.0 From: Mark Wielaard To: elfutils-devel@lists.fedorahosted.org Subject: [PATCH] Add NT_ARM_SYSTEM_CALL aarch64 syscall regset. Date: Fri, 12 Feb 2016 18:05:42 +0100 Message-ID: <1455296742-9847-1-git-send-email-mjw@redhat.com> --===============8532463718242061244== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Linux kernel 3.18 added the NT_ARM_SYSTEM_CALL regset for aarch64. Recognize and print this new core item. Signed-off-by: Mark Wielaard --- backends/ChangeLog | 7 +++++++ backends/aarch64_corenote.c | 11 ++++++++++- libebl/eblcorenotetypename.c | 1 + libelf/ChangeLog | 4 ++++ libelf/elf.h | 1 + 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/backends/ChangeLog b/backends/ChangeLog index cc0dd6f..578f6b1 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,10 @@ +2016-02-12 Mark Wielaard + + * aarch64_corenote.c (aarch64_syscall_items): New Ebl_Core_Item[]. + (EXTRA_NOTES): Add NT_ARM_SYSTEM_CALL. + * eblcorenotetypename.c (ebl_core_note_type_name): + Add ARM_SYSTEM_CALL. + 2015-12-28 Mark Wielaard = * i386_reloc.def: Add GOT32X. diff --git a/backends/aarch64_corenote.c b/backends/aarch64_corenote.c index 9b42485..905a4b8 100644 --- a/backends/aarch64_corenote.c +++ b/backends/aarch64_corenote.c @@ -99,6 +99,14 @@ static const Ebl_Core_Item aarch64_tls_items[] =3D } }; = +static const Ebl_Core_Item aarch64_syscall_items [] =3D + { + { + .name =3D "syscall", .type =3D ELF_T_WORD, .format =3D 'x', + .offset =3D 0, .group =3D "register" + } + }; + #define AARCH64_HWBP_REG(KIND, N) \ { \ .name =3D "DBG" KIND "VR" #N "_EL1", .type =3D ELF_T_XWORD, .format = =3D 'x', \ @@ -158,6 +166,7 @@ AARCH64_BP_WP_GROUP ("W", aarch64_hw_wp_items); aarch64_fpregset_regs, aarch64_fpregset_items) \ EXTRA_ITEMS (NT_ARM_TLS, 8, aarch64_tls_items) \ EXTRA_ITEMS (NT_ARM_HW_BREAK, 264, aarch64_hw_bp_items) \ - EXTRA_ITEMS (NT_ARM_HW_WATCH, 264, aarch64_hw_wp_items) + EXTRA_ITEMS (NT_ARM_HW_WATCH, 264, aarch64_hw_wp_items) \ + EXTRA_ITEMS (NT_ARM_SYSTEM_CALL, 4, aarch64_syscall_items) = #include "linux-core-note.c" diff --git a/libebl/eblcorenotetypename.c b/libebl/eblcorenotetypename.c index 826f9a1..fa81dbe 100644 --- a/libebl/eblcorenotetypename.c +++ b/libebl/eblcorenotetypename.c @@ -90,6 +90,7 @@ ebl_core_note_type_name (Ebl *ebl, uint32_t type, char *b= uf, size_t len) KNOWNSTYPE (ARM_TLS); KNOWNSTYPE (ARM_HW_BREAK); KNOWNSTYPE (ARM_HW_WATCH); + KNOWNSTYPE (ARM_SYSTEM_CALL); KNOWNSTYPE (SIGINFO); KNOWNSTYPE (FILE); #undef KNOWNSTYPE diff --git a/libelf/ChangeLog b/libelf/ChangeLog index 41eaa00..fbff2d0 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,7 @@ +2016-02-12 Mark Wielaard + + * elf.h: Update from glibc. Add NT_ARM_SYSTEM_CALL. + 2016-02-04 Mark Wielaard = * elf_getdata.c (__libelf_set_rawdata_wrlock): Don't adjust align diff --git a/libelf/elf.h b/libelf/elf.h index 1a7000b..ce96bd5 100644 --- a/libelf/elf.h +++ b/libelf/elf.h @@ -667,6 +667,7 @@ typedef struct #define NT_ARM_TLS 0x401 /* ARM TLS register */ #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ #define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ +#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ = /* Legal values for the note segment descriptor types for object files. */ = -- = 1.8.3.1 --===============8532463718242061244==--