* elf-bfd.h (elfcore_write_s390_tdb): Add prototype.

* elf.c (elfcore_write_s390_tdb): New function.
	(elfcore_write_register_note): Call it.
	(elfcore_grok_s390_tdb): New function.
	(elfcore_grok_note): Call it.

	* readelf.c (get_note_type): Add NT_S390_TDB.
This commit is contained in:
Nick Clifton 2013-03-08 17:13:31 +00:00
parent 9b67fcec82
commit abb3f6cca7
7 changed files with 52 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
* elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
* elf.c (elfcore_write_s390_tdb): New function.
(elfcore_write_register_note): Call it.
(elfcore_grok_s390_tdb): New function.
(elfcore_grok_note): Call it.
2013-03-08 Maciej W. Rozycki <macro@codesourcery.com>
* elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.

View File

@ -1,7 +1,5 @@
/* BFD back-end data structures for ELF files.
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Copyright 1992-2013 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@ -2291,6 +2289,8 @@ extern char *elfcore_write_s390_last_break
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_s390_system_call
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_s390_tdb
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_arm_vfp
(bfd *, char *, int *, const void *, int);
extern char *elfcore_write_aarch_tls

View File

@ -1,9 +1,6 @@
/* ELF executable support for BFD.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
2013
Free Software Foundation, Inc.
Copyright 1993-2013 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -8174,6 +8171,12 @@ elfcore_grok_s390_system_call (bfd *abfd, Elf_Internal_Note *note)
return elfcore_make_note_pseudosection (abfd, ".reg-s390-system-call", note);
}
static bfd_boolean
elfcore_grok_s390_tdb (bfd *abfd, Elf_Internal_Note *note)
{
return elfcore_make_note_pseudosection (abfd, ".reg-s390-tdb", note);
}
static bfd_boolean
elfcore_grok_arm_vfp (bfd *abfd, Elf_Internal_Note *note)
{
@ -8631,6 +8634,13 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
else
return TRUE;
case NT_S390_TDB:
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
return elfcore_grok_s390_tdb (abfd, note);
else
return TRUE;
case NT_ARM_VFP:
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
@ -9484,6 +9494,18 @@ elfcore_write_s390_system_call (bfd *abfd,
s390_system_call, size);
}
char *
elfcore_write_s390_tdb (bfd *abfd,
char *buf,
int *bufsiz,
const void *s390_tdb,
int size)
{
char *note_name = "LINUX";
return elfcore_write_note (abfd, buf, bufsiz,
note_name, NT_S390_TDB, s390_tdb, size);
}
char *
elfcore_write_arm_vfp (bfd *abfd,
char *buf,
@ -9566,6 +9588,8 @@ elfcore_write_register_note (bfd *abfd,
return elfcore_write_s390_last_break (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-s390-system-call") == 0)
return elfcore_write_s390_system_call (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-s390-tdb") == 0)
return elfcore_write_s390_tdb (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-arm-vfp") == 0)
return elfcore_write_arm_vfp (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-aarch-tls") == 0)

View File

@ -1,3 +1,7 @@
2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
* readelf.c (get_note_type): Add NT_S390_TDB.
2013-03-07 Alan Modra <amodra@gmail.com>
* strings.c (get_char): Dispense with buf[]. Instead shift

View File

@ -12843,6 +12843,8 @@ get_note_type (unsigned e_type)
return _("NT_S390_LAST_BREAK (s390 last breaking event address)");
case NT_S390_SYSTEM_CALL:
return _("NT_S390_SYSTEM_CALL (s390 system call restart data)");
case NT_S390_TDB:
return _("NT_S390_TDB (s390 transaction diagnostic block)");
case NT_ARM_VFP:
return _("NT_ARM_VFP (arm VFP registers)");
case NT_ARM_TLS:

View File

@ -1,3 +1,7 @@
2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
* common.h (NT_S390_TDB): Define.
2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
Andrew Jenner <andrew@codesourcery.com>

View File

@ -1,8 +1,5 @@
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
2013
Free Software Foundation, Inc.
Copyright 1991-2013 Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
@ -552,6 +549,8 @@
/* note name must be "LINUX". */
#define NT_S390_SYSTEM_CALL 0x307 /* S390 system call restart data */
/* note name must be "LINUX". */
#define NT_S390_TDB 0x308 /* S390 transaction diagnostic block */
/* note name must be "LINUX". */
#define NT_ARM_VFP 0x400 /* ARM VFP registers */
/* The following definitions should really use NT_AARCH_..., but defined
this way for compatibility with Linux. */