summaryrefslogtreecommitdiffstats
path: root/backends/s390_init.c
diff options
context:
space:
mode:
authorJan Kratochvil <[email protected]>2012-10-10 19:32:05 +0200
committerJan Kratochvil <[email protected]>2013-01-30 20:34:17 +0100
commitcc84d79da3b8aaf09c785d8d24d7a41dd236528b (patch)
tree821db481c11ea7c2916e0d9d8f78f8ce9f3aaa1e /backends/s390_init.c
parentc44cce03fdeaf68f2728d448ee341dae9a334e27 (diff)
backends/
* Makefile.am (s390_SRCS): Add s390_corenote.c and s390x_corenote.c. * linux-core-note.c (ALIGN_PR_REG): New definitions. (struct EBLHOOK(prstatus)): Change field pr_reg to anonymous struct with ALIGN_PR_REG. (EXTRA_ITEMS): New macro. * s390_corenote.c: New file. * s390_init.c (s390x_core_note): New declaration. (s390_init): Install s390x_core_note and s390_core_note. * s390x_corenote.c: New file. tests/ * run-readelf-mixed-corenote.sh: New testcase for readelf -n of s390 and s390x core notes. * testfile67.bz2: New file. * testfile68.bz2: New file. * Makefile.am (EXTRA_DIST): Add testfile67.bz2 and testfile68.bz2 . Signed-off-by: Jan Kratochvil <[email protected]>
Diffstat (limited to 'backends/s390_init.c')
-rw-r--r--backends/s390_init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/backends/s390_init.c b/backends/s390_init.c
index 528e3576..91fe4b8d 100644
--- a/backends/s390_init.c
+++ b/backends/s390_init.c
@@ -37,6 +37,8 @@
/* This defines the common reloc hooks based on arm_reloc.def. */
#include "common-reloc.c"
+extern __typeof (s390_core_note) s390x_core_note;
+
const char *
s390_init (elf, machine, eh, ehlen)
@@ -55,6 +57,10 @@ s390_init (elf, machine, eh, ehlen)
HOOK (eh, reloc_simple_type);
HOOK (eh, register_info);
HOOK (eh, return_value_location);
+ if (eh->class == ELFCLASS64)
+ eh->core_note = s390x_core_note;
+ else
+ HOOK (eh, core_note);
/* Only the 64-bit format uses the incorrect hash table entry size. */
if (eh->class == ELFCLASS64)